Встречается на собеседованиях • сегодня

Как работает асинхронность в JavaScript

JavaScript использует однопоточную модель с циклом событий (event loop) для обработки асинхронных операций. Когда встречается асинхронный код (setTimeout, промисы, запросы), он передается Web API браузера/Node.js, а основной поток продолжает выполнение. После завершения асинхронной операции callback помещается в очередь задач (callback queue). Event loop проверяет стек вызовов (call stack) и, когда он пуст, переносит callback из очереди в стек для выполнения.

Пример:

javascript
console.log('Start');
setTimeout(() => console.log('Timeout'), 0);
Promise.resolve().then(() => console.log('Promise'));
console.log('End');

// Output:
// Start
// End
// Promise
// Timeout

Микрозадачи (промисы) имеют приоритет над макрозадачами (setTimeout). Event loop сначала обрабатывает всю очередь микрозадач перед переходом к макрозадачам.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы