493просмотров
8.4%от подписчиков
8 марта 2026 г.
question📷 ФотоScore: 542
Что выведет этот код? console.log("A") setTimeout(() => console.log("B"), 0) Promise.resolve().then(() => console.log("C")) console.log("D") A D C B Разбор по шагам. • Сначала выполняется синхронный код (Call Stack): • console.log("A") → выводит A • setTimeout(..., 0) → колбэк отправляется в macrotask queue • Promise.resolve().then(...) → колбэк отправляется в microtask queue • console.log("D") → выводит D После этого основной поток завершён. Затем Event Loop обрабатывает microtasks (они имеют более высокий приоритет): выполняется Promise → выводит C И только потом выполняются macrotasks: • setTimeout → выводит B Итоговый порядок выполнения: Sync → Microtasks (Promise) → Macrotasks (setTimeout) Если кратко: Promise всегда выполнится раньше setTimeout, даже если timeout = 0.
493
просмотров
802
символов
Нет
эмодзи
Да
медиа

Другие посты @javascriptquiz

Все посты канала →
Что выведет этот код? console.log("A") setTimeout(() => cons — @javascriptquiz | PostSniper