Вывод будет:
Для фрагмента с синхронным кодом, setTimeout и Promise определите порядок вывода в консоль, объяснив очереди макро- и микрозадач.
Вывод будет:
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Вывод будет:
E
C
D
B
Объяснение:
console.log('E')выполняется синхронно сразу.Promise.resolve().then(...)добавляет колбэки в очередь микротасков, которые выполняются после текущего стека.setTimeout(..., 0)добавляет колбэк в очередь макротасков, которая выполняется после микротасков.
Порядок выполнения:
- Синхронный код: вывод
E. - Микротаски: вывод
CиD(в порядке добавления). - Макротаски: вывод
B.
Поэтому итоговый порядок: E, C, D, B.