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

Как работает Event Queue в Node.js

Node.js использует однопоточную модель с Event Loop для обработки асинхронных операций. Event Queue — это очередь, куда помещаются колбэки после завершения асинхронных операций (например, I/O, таймеров, сетевых запросов).

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

  1. Асинхронная операция (например, setTimeout, fs.readFile) запускается и делегируется системному API.
  2. После завершения операции колбэк попадает в Event Queue.
  3. Event Loop проверяет, пуст ли Call Stack (основной стек выполнения).
  4. Если Call Stack пуст, Event Loop берет колбэк из Event Queue и помещает его в Call Stack для выполнения.

Пример:

javascript
console.log('Start');

setTimeout(() => {
  console.log('Timeout callback');
}, 0);

Promise.resolve().then(() => {
  console.log('Promise callback');
});

console.log('End');

Вывод:

text
Start
End
Promise callback
Timeout callback
  • Микрозадачи (Promise) имеют приоритет над макрозадачами (setTimeout) в Event Queue.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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