Sobes.tech
Назад к вопросам
Junior — Middle
101

Можете объяснить принцип работы Event Loop в JavaScript?

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

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

sobes.tech AI

Event Loop в JavaScript — это механизм, который позволяет обрабатывать асинхронные операции, не блокируя основной поток выполнения.

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

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

Таким образом, JavaScript остаётся однопоточным, но может эффективно обрабатывать асинхронные операции без блокировки.

Пример:

console.log('Начало');
setTimeout(() => {
  console.log('Асинхронный вызов');
}, 0);
console.log('Конец');
// Вывод будет:
// Начало
// Конец
// Асинхронный вызов