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

Is the Promise constructor callback synchronous?

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

JavaScript
new Promise((resolve) => {
  console.log("A");
  resolve();
}).then(() => console.log("B"));

console.log("C");
Show answer and explanation

The answer is A C B.

The executor function runs right away, inside the constructor: A. .then callbacks always run later as microtasks, so C is logged before B.

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. What happens when one promise in Promise.all rejects?

Related topics