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

Почему существуют отдельные очереди для micro и macro tasks в Event Loop

Event Loop использует две отдельные очереди для микро- и макрозадач, чтобы обеспечить приоритетность выполнения. Микрозадачи (Promise, MutationObserver) выполняются сразу после текущего синхронного кода, даже перед рендерингом, что гарантирует их высокий приоритет. Макрозадачи (setTimeout, setInterval) выполняются после рендеринга и микрозадач, что позволяет браузеру обновлять UI между задачами.

Пример:

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
интервью вопросы и ответы