Как работает event loop в JavaScript?

Middle
479 просмотров
AFK Offer AI

Event loop — это механизм, который позволяет JS быть асинхронным, оставаясь однопоточным. Он крутится в бесконечном цикле: берёт задачу из call stack, выполняет, если стек пуст — смотрит в очередь микротасков (Promise, queueMicrotask), выполняет все, потом берёт одну макротаску (setTimeout, setInterval, I/O). Микротаски всегда приоритетнее — пока очередь микротасков не пуста, макротаски ждут. Именно поэтому Promise.then отрабатывает раньше setTimeout(fn, 0).

Следующий вопрос

Что такое React hooks?