Concurrency & Workers — Series 2

Preview — 3 of 10 questions

What does Promise.allSettled return when some promises reject?

javascript
const results = await Promise.allSettled([
  Promise.resolve(1),
  Promise.reject('error'),
  Promise.resolve(3),
]);
console.log(results[1]);
AThrows an unhandled rejection
B{ status: 'rejected', reason: 'error' }
C{ status: 'fulfilled', value: undefined }
Dnull

What is logged?

javascript
async function fetchData() {
  throw new Error('network fail');
}

async function main() {
  try {
    const result = await fetchData();
    console.log('ok', result);
  } catch (e) {
    console.log('caught', e.message);
  }
}

main();
A'ok undefined'
BUnhandled rejection
C'caught network fail'
DNothing is logged

What will result be?

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

const result = await Promise.race([slow, fast]);
console.log(result);
A'slow'
B['slow', 'fast']
C'fast'
Dundefined

Sign up free to play

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