← К глоссарию
Event Loop
Event Loop позволяет JavaScript быть неблокирующим. Сначала выполняется текущий стек, затем microtasks (Promise), потом macrotasks (setTimeout и т.п.).
Почему это важно
Без Event Loop невозможно корректно объяснить порядок выполнения Promise, таймеров и UI-событий.
Примеры
- Promise.then выполняется раньше setTimeout(0)
- Обработка событий UI
Как объяснить на собеседовании
Сначала выполняется call stack, затем microtask queue, затем macrotask queue в цикле event loop.
Частая ошибка
Считать setTimeout(..., 0) мгновенным и не учитывать microtasks.
Где встречается на практике
- Promise.then/catch/finally
- setTimeout и setInterval
- Обработчики пользовательских событий