cf.completefrontend

Predict the outputHard

Timers inside microtasks and microtasks inside timers: in what order do the letters log?

What does this log?
console.log("A");
 
setTimeout(() => {
  console.log("B");
  queueMicrotask(() => console.log("C"));
  setTimeout(() => console.log("D"), 0);
}, 0);
 
queueMicrotask(() => {
  console.log("E");
  setTimeout(() => console.log("F"), 0);
  queueMicrotask(() => console.log("G"));
});
 
Promise.resolve().then(() => console.log("H"));
 
console.log("I");

The answer

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

Checking your sign-in…