Sobes.tech
Middle

// Que sera affiché dans la console ? 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 IA

Réponse de l'IA

La console affichera ce qui suit :

  1. L'appel à Promise.all([p1, p2, p3]) se terminera par une erreur, car p2 est rejeté après 100 ms avec le message "Error". Par conséquent, dans le bloc .catch(console.error), il sera affiché :
Error
  1. L'appel à Promise.allSettled([p1, p2, p3]) se termine toujours avec succès, renvoyant un tableau avec les résultats de toutes les promesses, indépendamment de leur état. La console affichera un tableau d'objets :
[
  { status: "fulfilled", value: 1 },
  { status: "rejected", reason: "Error" },
  { status: "fulfilled", value: 3 }
]

Ainsi, d'abord l'erreur de Promise.all apparaîtra dans la console, puis le tableau des résultats de Promise.allSettled.