Junior — Middle
Kuidas toimub mitme lubaduse samaaegne täitmine Promise.all abil ja kuidas nende tulemusi töödeldakse?
sobes.tech AI
Vastus AI-lt
Promise.all võimaldab käivitada mitu lubadust samaaegselt ja oodata, kuni kõik need lõpetatakse. See võtab vastu lubaduste massiivi ja tagastab uue lubaduse, mis:
- Lahendatakse edukalt, kui kõik massiivi lubadused lõpetatakse edukalt. Sel juhul on tulemus massiiv väärtustest, mis vastavad igale lubadusele samas järjekorras.
- Tühistatakse, kui vähemalt üks lubadus tühistatakse, ja tagastab esimese tühistatud lubaduse vea.
Kasutusnäide:
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('Üks lubadustest tühistati:', error);
});
Seega on Promise.all kasulik mitme asünkroonse operatsiooni samaaegseks täitmiseks ja nende tulemuste töötlemiseks pärast kõigi lõpetamist.