Your product could be here, in front of thousands of JavaScript developers. Sponsor this spot →
JavaScript Quiz

In what order do setTimeout callbacks run?

Do you know what will be the output of this code?

JavaScript
setTimeout(() => console.log("A"), 100);
setTimeout(() => console.log("B"), 0);
setTimeout(() => console.log("C"), 10);
Show answer and explanation

The answer is B C A.

Each callback is queued once its delay has passed, so the shortest delay runs first. The delay is a minimum, not a guarantee.

Take the full quiz Next question →

More Promises & Async questions

  1. Why does an arrow function in setTimeout keep this?
  2. Why does a Promise run before setTimeout 0?
  3. What does an async function return in JavaScript?
  4. What runs first after await in JavaScript?
  5. Is the Promise constructor callback synchronous?

Related topics