Sobes.tech
Middle

// Wat wordt er in de console weergegeven ? const p1 = Promise.resolve(1); const p2 = new Promise((_, reject) => setTimeout(() => reject("Error"), 100)); const p3 = Promise.resolve(3); Promise.all([p1, p2, p3]) .then(console.log) .catch(console.error); Promise.allSettled([p1, p2, p3]).then(console.log);

sobes.tech AI

Antwoord van AI

In de console wordt het volgende weergegeven:

  1. De aanroep Promise.all([p1, p2, p3]) eindigt met een fout, omdat p2 na 100 ms wordt afgewezen met het bericht "Error". Daarom wordt in het .catch(console.error)-blok weergegeven:
Error
  1. De aanroep Promise.allSettled([p1, p2, p3]) eindigt altijd succesvol en geeft een array met de resultaten van alle beloften, ongeacht hun status. In de console wordt een array van objecten weergegeven:
[
  { status: "fulfilled", value: 1 },
  { status: "rejected", reason: "Error" },
  { status: "fulfilled", value: 3 }
]

Zo verschijnt eerst de fout van Promise.all in de console, gevolgd door de resultatenarray van Promise.allSettled.