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

В каком порядке исполняются очереди в Event Loop

Event Loop обрабатывает очереди в следующем порядке:

  1. Call Stack - сначала выполняется синхронный код из стека вызовов
  2. Microtasks (Promise.then/catch/finally, queueMicrotask, MutationObserver) - выполняются сразу после текущего макрозадания
  3. Macrotasks (setTimeout, setInterval, setImmediate, I/O, UI rendering) - выполняются после микрозадач

Пример:

javascript
console.log('1. Sync');

setTimeout(() => console.log('4. Macrotask'));

Promise.resolve()
  .then(() => console.log('3. Microtask'));

console.log('2. Sync');

Вывод:

text
1. Sync
2. Sync
3. Microtask
4. Macrotask

Микрозадачи имеют приоритет и выполняются до следующего макрозадания, даже если были добавлены позже.

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

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

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

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