Back to questions
Wildberries
Andersen
Яндекс
Junior — Middle
81
Можете объяснить принцип работы Event Loop в асинхронной модели JavaScript?
Companies where asked
Pashapay
HamkorBank
Answer from AI
sobes.tech AI
Event Loop — это механизм в JavaScript, который позволяет выполнять асинхронный код, не блокируя основной поток выполнения. JavaScript однопоточный, но благодаря Event Loop он может обрабатывать множество операций, таких как таймеры, сетевые запросы и события UI.
Принцип работы:
- Call Stack (стек вызовов) — сюда помещаются функции для выполнения.
- Web APIs — браузерные или средовые API, которые обрабатывают асинхронные операции (например, setTimeout, fetch).
- Callback Queue (очередь обратных вызовов) — сюда попадают завершённые асинхронные задачи.
Когда стек вызовов пуст, Event Loop берет первый колбэк из очереди и помещает его в стек для выполнения. Так обеспечивается непрерывная обработка событий без блокировки.
Пример:
console.log('Начало');
setTimeout(() => {
console.log('Асинхронный код');
}, 0);
console.log('Конец');
Вывод будет:
Начало
Конец
Асинхронный код
Даже с задержкой 0, setTimeout ставит колбэк в очередь, который выполнится после основного кода.