Sobes.tech
Назад к вопросам
Middle+
3

Расскажите про Event Loop.

Компании, где спрашивали
Ifellow

Ответ от нейросети

sobes.tech AI

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

Принцип работы:

  1. Node.js запускает Event Loop.
  2. Асинхронные операции (например, чтение файла, запросы в сеть) отправляются в системные вызовы или внутренние очереди.
  3. Когда операция завершается, соответствующий колбэк помещается в очередь событий.
  4. Event Loop последовательно обрабатывает эти колбэки, вызывая их в основном потоке.

Это позволяет эффективно использовать ресурсы и не блокировать выполнение программы.

Пример:

console.log('Start');
setTimeout(() => {
  console.log('Timeout callback');
}, 1000);
console.log('End');

Вывод будет:

Start
End
Timeout callback

Потому что setTimeout регистрирует колбэк, который выполнится позже, а Event Loop продолжает выполнение текущего кода.