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

Когда JS использует Event Loop

Event Loop в JavaScript используется для обработки асинхронного кода. Он позволяет движку выполнять неблокирующие операции, несмотря на однопоточную природу JS.

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

  1. Синхронный код выполняется сразу, попадая в Call Stack.
  2. Асинхронные операции (например, setTimeout, fetch, промисы) передаются Web API (в браузере) или C++ API (в Node.js).
  3. После завершения асинхронной задачи колбэк помещается в очередь (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');  
// Output: Start → End → Promise → Timeout  

Порядок:

  • Микрозадачи (промисы) выполняются перед макрозадачами (таймеры).
  • Event Loop обеспечивает неблокирующее выполнение.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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