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

Как браузер понимает, когда можно брать задачу из стека

Браузер использует Event Loop для управления задачами. Он работает в цикле, проверяя стек вызовов (Call Stack) и очередь задач (Task Queue).

Когда Call Stack пуст, Event Loop берет первую задачу из очереди и помещает её в стек для выполнения. Очередь задач формируется из:

  • макрозадач (setTimeout, события DOM, сетевые запросы)
  • микрозадач (Promise, MutationObserver)

Приоритет у микрозадач – они выполняются сразу после текущей макрозадачи, до перехода к следующей.

Пример:

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