> Из каких этапов состоит событийный цикл JavaScript (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Точка, Кэтрид Диджитал
Стек: JavaScript
> Пример ответа
Событийный цикл (Event Loop) в JavaScript - это механизм, который обеспечивает асинхронное выполнение кода в однопоточном окружении. Он состоит из нескольких ключевых этапов, циклически повторяющихся:
-
Выполнение синхронного кода (Call Stack): Сначала движок выполняет все синхронные задачи из стека вызовов (Call Stack). Если стек пуст, переходит к следующему этапу.
-
Обработка микрозадач (Microtask Queue): После каждого макрозадачи (или при опустошении стека) проверяется очередь микрозадач. Сюда попадают Promise.then/catch/finally, MutationObserver, queueMicrotask. Все микрозадачи выполняются до перехода к следующей макрозадаче.
-
Обработка макрозадач (Macrotask Queue): Из очереди макрозадач (setTimeout, setInterval, I/O, UI-события) берётся одна задача и выполняется. После этого снова проверяется очередь микрозадач.
-
Рендеринг (опционально): В браузере после обработки макрозадач может произойти обновление UI (requestAnimationFrame, стили, layout, paint). Этот этап не является частью самого Event Loop, но тесно с ним связан.
Таким образом, цикл повторяется: выполнение макрозадачи → все микрозадачи → рендеринг → следующая макрозадача.
> Похожие задачи по frontend
Что такое Promise в JavaScript и как он работает?
Что происходит при сложении двух пустых массивов в JavaScript
Как работает callback в методе map в JavaScript и что означают его аргументы
Как избежать ошибки при обращении к свойству объекта, если объект undefined?
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью