Sobes.tech
Назад к вопросам
Middle
2

// Promise.resolve() // .then(() => console.log(1)) // // .then(() => console.log(2)) // // Promise.resolve() // .then(() => console.log(11)) // // .then(() => console.log(22)) //

Компании, где спрашивали
Сбермаркетинг

Ответ от нейросети

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 для отложенного вызова.