Сначала отрабатывает весь код из текущего стека выполнения, затем все порождённые им микротаски, затем управление возвращается в цикл событий.
К макротаскам относится основной код запускаемый непосредственно в элементе <script>, обработчики событий и код, вызываемый по таймауту в setTimeout или setInterval.
к микротаскам относятся промисы, события Mutation Observer API и функции, переданные через queueMicrotask().
https://developer.mozilla.org/en-US/docs/Web/API/H...