Sobes.tech
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.