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

Как взаимодействуешь с Event Loop

Event Loop — это механизм, который управляет выполнением кода, обрабатывая очередь событий и задач. Он работает в одном потоке, но эффективно распределяет задачи между Call Stack, Web APIs, Callback Queue и Microtask Queue.

Основные этапы:

  1. Синхронный код попадает в Call Stack и выполняется сразу.
  2. Асинхронные операции (setTimeout, fetch и т.д.) передаются в Web APIs.
  3. После завершения Web API помещает колбэки в Callback Queue (макрозадачи) или Microtask Queue (промисы, MutationObserver).
  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

Микрозадачи (промисы) имеют приоритет над макрозадачами (setTimeout).

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

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

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

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