Задача 1 из 20 — JavaScript | LearnToFly

JavaScript: уровень 5

Вопрос 1 из 20
Экзаменатор

Как устроен event loop в JavaScript и в чём разница между microtask и macrotask очередями?

Ответ

После каждой задачи из основного стека сначала полностью опустошается очередь микрозадач (промисы, queueMicrotask), и только потом берётся следующая макрозадача (setTimeout, события). Поэтому Promise.resolve().then(...) выполнится раньше, чем setTimeout(..., 0).