Sobes.tech
Junior — Middle

Hogyan történik több ígéret egyidejű végrehajtása a Promise.all segítségével, és hogyan kezelik az eredményeiket?

sobes.tech MI

Válasz az MI-től

A Promise.all lehetővé teszi több ígéret párhuzamos futtatását és várakozik, amíg mindegyik be nem fejeződik. Egy ígéretekből álló tömböt fogad el, és egy új ígéretet ad vissza, amely:

  • Sikeresen teljesül, ha a tömb összes ígérete sikeresen befejeződik. Ebben az esetben az eredmény egy értékekből álló tömb, amelyek megfelelnek minden ígéretnek ugyanabban a sorrendben.
  • Elutasításra kerül, ha legalább egy ígéret elutasításra kerül, és visszaadja az első elutasított ígéret hibáját.

Használati példa:

const promise1 = Promise.resolve(1);
const promise2 = Promise.resolve(2);
const promise3 = Promise.resolve(3);

Promise.all([promise1, promise2, promise3])
  .then(results => {
    console.log(results); // [1, 2, 3]
  })
  .catch(error => {
    console.error('Egy ígéret elutasításra került:', error);
  });

Így a Promise.all hasznos több aszinkron művelet egyidejű végrehajtására és eredményeik feldolgozására, miután mindegyik befejeződött.