Execution order of multiple setTimeout without delays in angular

Viewed 406

What is the execution order of multiple setTimeout without delays in angular2+?

Example:

setTimeout(() => console.log('1'));
setTimeout(() => console.log('2'));

Questions:

(1) Is 1 always guaranteed to be printed before 2?
(2) If so, what part of the spec says so?
(3) This is called in Angular2+ code. Is angular overriding setTimeout's default behaviour?

How it differs from other questions:

This question (1) asks about the case without delay, and (2) asks it in angular context (in case angular overrides setTimeout).

Non-questions:

I know console.log might (or might not) be async or whatever; this question is not related to that. You can assume console.log is sync.

1 Answers
Related