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

Расскажи про Event Loop: что это такое, как работает?

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

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

sobes.tech AI

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

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

  1. Есть стек вызовов (call stack), куда помещаются функции для выполнения.
  2. Асинхронные операции (например, таймеры, сетевые запросы) отправляют свои колбэки в очередь задач (task queue) после завершения.
  3. Event Loop постоянно проверяет, пуст ли стек вызовов. Если он пуст, Event Loop берет первую задачу из очереди и помещает ее в стек для выполнения.

Таким образом, даже при асинхронных операциях код выполняется последовательно, без блокировки UI или других процессов.

Пример:

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

Вывод будет:

Start
End
Timeout

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