Встречается на собеседованиях • сегодня
Как работает Event Loop в JavaScript
Event Loop — это механизм, который позволяет JavaScript выполнять асинхронные операции, несмотря на однопоточность.
- Call Stack — выполняет синхронный код. Если встречается асинхронная операция (например,
setTimeout,fetch), она передаётся в Web APIs. - Web APIs — обрабатывают асинхронные задачи (таймеры, HTTP-запросы). По завершении колбэки попадают в Callback Queue.
- Callback Queue (Microtask & Macrotask) — очередь задач. Микрозадачи (
Promise,queueMicrotask) выполняются перед макрозадачами (setTimeout,setInterval). - Event Loop — проверяет, пуст ли Call Stack. Если да, переносит задачи из очереди в стек для выполнения.
js
console.log('Start'); // 1. Синхронный код
setTimeout(() => console.log('Timeout'), 0); // 3. Макрозадача
Promise.resolve().then(() => console.log('Promise')); // 2. Микрозадача
console.log('End'); // 1. Синхронный кодВывод:
text
Start
End
Promise
Timeout
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы