puzzle 04 · javascript
In what order do these log?
console.log("A");
setTimeout(() => console.log("B"), 0);
Promise.resolve().then(() => console.log("C"));
console.log("D");A B C D
A D C B
A D B C
A C D B
why
Synchronous code runs first (A, D). Then the microtask queue drains before any macrotask, so the resolved promise callback (C) beats the setTimeout (B) even at 0ms.