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) Yes
2) Step 16 of https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html which says:
3) No, Angular does not override it.