Junior — Middle
Kaip vykdoma kelių pažadų vienu metu vykdymas naudojant Promise.all ir kaip apdorojami jų rezultatai?
sobes.tech AI
Atsakymas iš AI
Promise.all leidžia vienu metu vykdyti kelis pažadus ir laukti, kol visi jie bus užbaigti. Jis priima pažadų masyvą ir grąžina naują pažadą, kuris:
- Sėkmingai išsprendžiamas, jei visi masyvo pažadai sėkmingai užbaigiami. Tokiu atveju rezultatas bus reikšmių masyvas, atitinkantis kiekvieną pažadą toje pačioje tvarkoje.
- Atmetamas, jei bent vienas pažadas atmetamas, ir grąžina pirmojo atmetamo pažado klaidą.
Naudojimo pavyzdys:
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('Vienas pažadas buvo atmestas:', error);
});
Šiuo būdu, Promise.all yra naudingas kelių asinchroninių operacijų vykdymui vienu metu ir jų rezultatų apdorojimui po visų operacijų pabaigos.