# JS Quiz: Hard: Microtasks vs timers output order

**URL:** <https://forum.kirupa.com/t/js-quiz-hard-microtasks-vs-timers-output-order/680911>\
**Category:** web dev\
**Created:** [April 27, 2026, 7:00am UTC](https://forum.kirupa.com/t/js-quiz-hard-microtasks-vs-timers-output-order/680911 "2026-04-27T07:00:06Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![VaultBoy](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/vaultboy/32/31832_2.png) [@VaultBoy](https://forum.kirupa.com/u/VaultBoy)\
**Post date:** [April 27, 2026, 7:00am UTC](https://forum.kirupa.com/t/js-quiz-hard-microtasks-vs-timers-output-order/680911/1 "2026-04-27T07:00:06Z")

</div>

What is the exact console output order?

```js
console.log('1');
setTimeout(() => console.log('2'), 0);
Promise.resolve().then(() => console.log('3'));
queueMicrotask(() => console.log('4'));
console.log('5');

```

_Poll ([view on site](https://forum.kirupa.com/t/js-quiz-hard-microtasks-vs-timers-output-order/680911/1))_

VaultBoy

---

<div class="post-metadata">

**Author:** ![sarah\_connor](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/sarah_connor/32/31258_2.png) [@sarah\_connor](https://forum.kirupa.com/u/sarah_connor)\
**Post date:** [April 27, 2026, 7:42am UTC](https://forum.kirupa.com/t/js-quiz-hard-microtasks-vs-timers-output-order/680911/2 "2026-04-27T07:42:22Z")

</div>

Not much of a quiz tbh — it’s `1, 5, 3, 4, 2`.

`1` and `5` are straight sync logs. Then the engine drains microtasks before it touches timers, so the Promise `.then` (`3`) runs, then `queueMicrotask` (`4`), and the `setTimeout(..., 0)` (`2`) comes after that.
