Что первее выведется – Promise или setTimeout в JavaScript?

Рассмотрите ситуацию, когда в коде JavaScript одновременно вызываются Promise и setTimeout. Объясните, какой из них выполнится первым и почему. Как EventLoop влияет на порядок их выполнения?

Уровень сложностиMiddle, Junior

Ответ

Promise выполнится раньше, чем setTimeout. Это связано с тем, что Promise создаёт микротаску, которая имеет более высокий приоритет и выполняется до макротаски, такой как setTimeout. В EventLoop сначала обрабатываются все микротаски, затем макротаски. Проверенный ответ
Вопрос опубликован 26.08.2024, 11:30:05, отредактирован 26.08.2024, 23:09:55.

Вопросы на похожую тему

Что такое БЭМ (BEM) в CSS?

Расскажите, что такое методология БЭМ (BEM) в CSS, как она используется для организации кода и какие правила она предполагает для наименования классов.
JavaScriptWebCSS

Middle, Junior

Чему равен this в обработчике событий в JavaScript?

Опишите, какое значение принимает this в контексте обработчика событий в JavaScript и как оно связано с элементом, на котором произошло событие.
JavaScriptWebHTML

Middle, Junior

В чем отличие подключения скрипта через async и defer в HTML?

Опишите разницу между атрибутами async и defer при подключении скриптов в HTML и как они влияют на порядок выполнения кода и загрузку страницы.
JavaScriptWebHTML

Middle, Junior