Timer callbacks go to the task queue; Promise reactions go to the microtask queue. Once the current script ends, the browser drains microtasks before the next task.
The demo prints `A`, Promise `B`, then timer `C`. A chain that continually creates microtasks can delay later tasks and rendering.
When to use
Check queue ordering when asynchronous callbacks run in a surprising order.