Синхронный код выполняется в стеке; после текущей задачи браузер обрабатывает очередь микрозадач, затем получает возможность рендеринга и выбора следующей задачи.
Расскажи про Event Loop в JavaScript: из чего он состоит и в каком порядке выполняются синхронный код, микрозадачи и макрозадачи?
Синхронный код выполняется в стеке; после текущей задачи браузер обрабатывает очередь микрозадач, затем получает возможность рендеринга и выбора следующей задачи.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Синхронный код выполняется в стеке; после текущей задачи браузер обрабатывает очередь микрозадач, затем получает возможность рендеринга и выбора следующей задачи.
Promise reactions и queueMicrotask относятся к микрозадачам, setTimeout планирует задачу таймера. Микрозадачи, добавленные микрозадачами, также обрабатываются до перехода дальше, поэтому бесконечная цепочка может блокировать UI. «Макрозадача» — распространённое неформальное название; разные источники задач не образуют одну универсальную FIFO-очередь на всё.