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

Определение последовательности вывода сообщений в консоль при сочетании setTimeout, Promise и requestAnimationFrame

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

Нужно понять, в каком порядке появятся записи в консоли при выполнении следующего JavaScript‑кода, где задействованы setTimeout, Promise и requestAnimationFrame.

console.log('Start');

setTimeout(() => {
  console.log('Timeout 1');
}, 0);

new Promise((resolve, _) => {
  console.log('async request');
  resolve();
})
  .then(() => {
    console.log('Promise 1');
  })
  .then(() => {
    console.log('Promise 2');
  });

requestAnimationFrame(() => {
  console.log('requestAnimationFrame 1');
});

requestAnimationFrame(() => {
  console.log('requestAnimationFrame 2');
});

console.log('End');