Назад к задачам
Junior — Senior
6

Как будет происходить вывод в консоль при смешивании setTimeout, Promise и рекурсии

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Необходимо определить последовательность вывода в консоль, когда в программу включены синхронные инструкции, микрозадачи (Promise) и макрозадачи (setTimeout), а также присутствует рекурсивный вызов функции.

console.log(1);

setTimeout(() => {
  console.log(2);
});

Promise.resolve().then(() => {
  console.log(3);
});

console.log(4);

setTimeout(() => {
  console.log(5);
}, 0);

console.log(6);

const foo1 = () => {
  console.log('foo1');
  return Promise.resolve().then(foo1);
};

foo1();