Async/Await — Series 2

Preview — 3 of 10 questions

What is logged?

javascript
const fast = new Promise((resolve) => setTimeout(() => resolve('fast'), 10));
const slow = new Promise((resolve) => setTimeout(() => resolve('slow'), 50));

Promise.race([slow, fast]).then((result) => console.log(result));
A"slow"
B"fast"
C["fast", "slow"]
DTypeError: Promise.race is not a function

What is logged?

javascript
const p1 = Promise.resolve('ok');
const p2 = Promise.reject(new Error('fail'));

Promise.allSettled([p1, p2]).then((results) => {
  console.log(results.map((r) => r.status));
});
A["ok", "fail"]
B["fulfilled"]
CPromise.allSettled rejects immediately because p2 rejected
D["fulfilled", "rejected"]

What is logged? (Assume timer delays run close to their specified values.)

javascript
function delay(ms, val) {
  return new Promise((resolve) => setTimeout(() => resolve(val), ms));
}

async function run() {
  const start = Date.now();
  const results = [];
  for (const ms of [50, 50, 50]) {
    results.push(await delay(ms, ms));
  }
  console.log(results);
  console.log(Date.now() - start >= 140);
}

run();
A[50, 50, 50], true
B[50, 50, 50], false
C[150]
DTypeError: results.push is not a function

Sign up free to play

Answer all 10 questions (7 more), see explanations for every answer, and track your score.