Встречается на собеседованиях • сегодня

Что такое Event Loop в JavaScript

Event Loop — это механизм, который позволяет JavaScript выполнять асинхронный код, несмотря на однопоточность. Он состоит из:

  1. Call Stack — стек вызовов, где выполняются синхронные операции.
  2. Web APIs — браузерные API (setTimeout, fetch и т.д.), которые обрабатываются вне основного потока.
  3. Callback Queue — очередь колбэков, готовых к выполнению.
  4. Microtask Queue — очередь для промисов и MutationObserver (приоритетнее Callback Queue).

Как работает:

  1. Синхронный код выполняется в Call Stack.
  2. Асинхронные операции (например, setTimeout) передаются в Web APIs.
  3. После завершения Web API колбэк попадает в Callback Queue (или Microtask Queue для промисов).
  4. Event Loop проверяет, пуст ли Call Stack, и переносит колбэки из очередей в стек.

Пример:

javascript
console.log('Start');
setTimeout(() => console.log('Timeout'), 0);
Promise.resolve().then(() => console.log('Promise'));
console.log('End');

Вывод:

text
Start
End
Promise
Timeout
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы