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

В чем разница между очередью для micro и для macro tasks в Event Loop

Разница в приоритете выполнения. Microtasks выполняются сразу после текущего макрозадачи (например, после выполнения колбэка setTimeout), но до следующей макрозадачи. Макрозадачи (setTimeout, setInterval, I/O) попадают в очередь и выполняются на следующем тике Event Loop.

Пример:

javascript
console.log('script start');

setTimeout(() => console.log('setTimeout'), 0);

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

console.log('script end');

Вывод:

text
script start
script end
promise
setTimeout

Microtasks (Promise, MutationObserver) имеют более высокий приоритет и выполняются между макрозадачами. Event Loop сначала выполняет все microtasks из очереди, прежде чем перейти к следующей макрозадаче.

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

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

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

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