Сначала завершается текущий синхронный стек, затем в предусмотренной точке опустошается очередь микрозадач, после чего среда может перейти к следующей задаче.
[имя] объясните порядок выполнения синхронного кода, микрозадач и макрозадач в event loop.
Сначала завершается текущий синхронный стек, затем в предусмотренной точке опустошается очередь микрозадач, после чего среда может перейти к следующей задаче.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Сначала завершается текущий синхронный стек, затем в предусмотренной точке опустошается очередь микрозадач, после чего среда может перейти к следующей задаче.
Микрозадачи, добавленные во время этого checkpoint, также обрабатываются до его завершения. Между задачами браузер может получить возможность обновить экран, но paint не обязан происходить после каждой задачи. Таймер задаёт минимальную задержку доступности callback, а не точное время исполнения. Конкретный порядок требует учитывать момент постановки каждого callback.