Back to questions
Middle
1
// Promise.resolve() // .then(() => console.log(1)) // // .then(() => console.log(2)) // // Promise.resolve() // .then(() => console.log(11)) // // .then(() => console.log(22)) //
Companies where asked
Сбермаркетинг
Answer from AI
sobes.tech AI
В приведённом коде две цепочки промисов, каждая начинается с Promise.resolve(). Важно понять порядок вывода в консоль.
Каждый .then() добавляет обработчик в очередь микротасков, которые выполняются после текущего стека вызовов.
Поскольку обе цепочки создаются последовательно, их обработчики будут поставлены в очередь микротасков в том порядке, в котором они объявлены.
Поэтому вывод будет:
1
2
11
22
Объяснение:
- Сначала выполняется первый
.then(() => console.log(1)), выводит1. - Затем следующий
.then(() => console.log(2)), выводит2. - После этого выполняется
.then(() => console.log(11))из второй цепочки, выводит11. - И в конце
.then(() => console.log(22)), выводит22.
Если бы мы хотели, чтобы вывод был смешанным или в другом порядке, нужно было бы изменить структуру промисов или использовать setTimeout для отложенного вызова.