MediumEvent Loop & Promises💻 Output Question

queueMicrotask runs before setTimeout

💡

Hint

queueMicrotask schedules a microtask — same queue as Promise.then, runs before any macrotask.

What does this output?

console.log('1');
setTimeout(() => console.log('2'), 0);
queueMicrotask(() => console.log('3'));
console.log('4');

Correct Output

1
4
3
2

Why this output?

Explanation: Sync (1, 4). Microtask: queueMicrotask callback (3). Macrotask: setTimeout (2).

Key Insight: queueMicrotask schedules a microtask — same queue as Promise.then, runs before any macrotask.

More Event Loop & Promises Output Questions

EasySynchronous code runs before setTimeoutMediumPromise microtask before setTimeout macrotaskMediumPromise chain passes valuesHardTwo Promise chains interleave in microtask queue

Practice predicting output live →

66 output questions with instant feedback

💻 Try Output Quiz