Sobes.tech
Middle

// Ce va fi afișat în consolă ? 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

Răspuns de la AI

În consola va fi afișat următorul:

  1. Apelul Promise.all([p1, p2, p3]) se va încheia cu o eroare, deoarece p2 este respins după 100 ms cu mesajul "Error". Prin urmare, în blocul .catch(console.error) va fi afișat:
Error
  1. Apelul Promise.allSettled([p1, p2, p3]) se încheie întotdeauna cu succes, returnând un array cu rezultatele tuturor promiselor, indiferent de starea lor. În consolă va fi afișat un array de obiecte:
[
  { status: "fulfilled", value: 1 },
  { status: "rejected", reason: "Error" },
  { status: "fulfilled", value: 3 }
]

Astfel, mai întâi va apărea în consolă eroarea din Promise.all, apoi array-ul de rezultate din Promise.allSettled.