Встречается на собеседованиях • сегодня
Что такое Event Loop в JavaScript
Event Loop — это механизм, который позволяет JavaScript выполнять асинхронный код, несмотря на однопоточность. Он состоит из:
- Call Stack — стек вызовов, где выполняются синхронные операции.
- Web APIs — браузерные API (setTimeout, fetch и т.д.), которые обрабатываются вне основного потока.
- Callback Queue — очередь колбэков, готовых к выполнению.
- Microtask Queue — очередь для промисов и MutationObserver (приоритетнее Callback Queue).
Как работает:
- Синхронный код выполняется в Call Stack.
- Асинхронные операции (например,
setTimeout) передаются в Web APIs. - После завершения Web API колбэк попадает в Callback Queue (или Microtask Queue для промисов).
- Event Loop проверяет, пуст ли Call Stack, и переносит колбэки из очередей в стек.
Пример:
javascript
console.log('Start');
setTimeout(() => console.log('Timeout'), 0);
Promise.resolve().then(() => console.log('Promise'));
console.log('End');Вывод:
text
Start
End
Promise
Timeout
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы