cf.completefrontend

Predict the outputHard

A then callback schedules timers and returns a promise that a timer resolves. What's the order?

What does this log?
console.log(1);
setTimeout(() => console.log(2), 0);
 
Promise.resolve()
  .then(() => {
    console.log(3);
    setTimeout(() => console.log(4), 0);
    return new Promise((resolve) => {
      setTimeout(() => {
        console.log(5);
        resolve();
      }, 0);
    });
  })
  .then(() => console.log(6));
 
queueMicrotask(() => console.log(7));
console.log(8);

The answer

Work out every line it logs, in order. Then check.

Checking your sign-in…