Middle
Jaki będzie wynik tego fragmentu kodu? ```javascript setTimeout(() => { console.log('B') }, 0) Promise.resolve().then(() => { console.log('C') }) Promise.resolve().then(() => { console.log('D') }) console.log('E') ```
sobes.tech AI
Odpowiedź od AI
Вывод будет:
E
C
D
B
Объяснение:
console.log('E')выполняется синхронно сразу.Promise.resolve().then(...)добавляет колбэки в очередь микротасков, которые выполняются после текущего стека.setTimeout(..., 0)добавляет колбэк в очередь макротасков, которая выполняется после микротасков.
Порядок выполнения:
- Синхронный код: вывод
E. - Микротаски: вывод
CиD(в порядке добавления). - Макротаски: вывод
B.
Поэтому итоговый порядок: E, C, D, B.