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

В чем разница между Микрозадачей и Макрозадачей в JavaScript

Микрозадачи (microtasks) и макрозадачи (macrotasks) — это два типа задач в Event Loop.

  • Микрозадачи выполняются сразу после текущего синхронного кода, до рендеринга и следующих макрозадач.
    Примеры: Promise.then/catch/finally, queueMicrotask, MutationObserver.
  • Макрозадачи выполняются после рендеринга и микрозадач.
    Примеры: setTimeout, setInterval, requestAnimationFrame, I/O-операции.

Пример:

javascript
console.log('Start');

setTimeout(() => console.log('Timeout'), 0); // макрозадача

Promise.resolve().then(() => console.log('Promise')); // микрозадача

console.log('End');

Вывод:

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

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

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

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