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.