Порядок выполнения множественного setTimeout без задержек в угловых - PullRequest
0 голосов
/ 11 ноября 2018

Каков порядок выполнения множественного setTimeout без задержек в angular2 +?

Пример

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

Вопросы :

(1) Всегда ли гарантируется печать 1 до 2?
(2) Если так, какая часть спецификации так говорит?
(3) Это называется в коде Angular2 +. Является ли угловое переопределение setTimeout поведением по умолчанию?

Чем он отличается от других вопросов :

Этот вопрос (1) задает вопрос о случае без задержки, и (2) задает его в угловом контексте (в случае, если угловые переопределения setTimeout).

Non-вопросы :

Я знаю, console.log может (или не может) быть асинхронным или чем-то еще; этот вопрос не имеет к этому отношения. Можно предположить, что console.log синхронизирован.

1 Ответ

0 голосов
/ 11 ноября 2018

1) Да

2) Шаг 16 из https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html, который говорит:

Подождите, пока все вызовы этого алгоритма будут иметь тот же метод контекст, который начался до этого, и время ожидания которого равно или меньше, чем этот, завершили.

3) Нет, Angular не отменяет его.

...