Junior — Middle
Jak realizowana jest jednoczesna realizacja wielu obietnic za pomocą Promise.all i jak są one obsługiwane?
sobes.tech AI
Odpowiedź od AI
Promise.all pozwala na uruchomienie wielu obietnic równocześnie i oczekiwanie, aż wszystkie się zakończą. Przyjmuje tablicę obietnic i zwraca nową obietnicę, która:
- Zostanie rozwiązana pomyślnie, jeśli wszystkie obietnice w tablicy zakończą się powodzeniem. W takim przypadku wynikiem będzie tablica wartości odpowiadających każdej obietnicy w tej samej kolejności.
- Zostanie odrzucona, jeśli przynajmniej jedna z obietnic zostanie odrzucona, i zwróci błąd pierwszej odrzuconej obietnicy.
Przykład użycia:
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('Jedna z obietnic została odrzucona:', error);
});
W ten sposób Promise.all jest przydatne do jednoczesnego wykonywania wielu operacji asynchronicznych i obsługi ich wyników po zakończeniu wszystkich.