Promise All w Javascript - Wszystko Co Musisz Wiedzieć

31 stycznia 2022JavaScript
1 min391 wyświetleń

Czym jest Promise.all w Javascript?

Promise.all to metoda, która za argument przyjmuje tablicę Promisów, a jednocześnie sama zwraca Promise, który zostanie:

  • resolved - jeśli każdy Promise z tablicy również zostanie rozwiązany. W tym wypadku Promise.all zwróci tablicę wartości rozwiązanych obietnic. Kolejność tych wartości jest taka sama, jak kolejność Promisów w tablicy,
  • rejected - jeśli chociaż jeden Promise zostanie odrzucony.

Przykłady użycia Promise.all w Javascript

Promise.all wykorzystujemy na przykład w sytuacji, gdy:

  • chcesz wiedzieć, czy każdy Promise zostanie rozwiązany,
  • chcesz poczekać, aż każdy Promise zostanie rozwiązany

Jak to wygląda w kodzie?

Promise.all( [Promise1, Promise2, Promise3] )
 .then( result ) => {
   console.log( result )
 })
 .catch( error => console.log(error) )

W powyższym przykładzie otrzymamy resolved, każdy z 3 Promisów zostanie rozwiązany, oraz rejected, gdy chociaż jeden z nich zostanie odrzucony.

Kiedy Promise.all może nam się przydać?

Promise.all sprawdzi się świetnie, jeśli potrzebujemy wykonać wiele asynchronicznych funkcji na raz, takich jak na przykład wysyłka maili.

Jeśli będziemy chcieli na raz wysłać 10 000 maili, to prawdopodobnie nasz serwer się podda.

Lepszym rozwiązaniem byłoby podzielić te maile, na mniejsze tablice, po 200 żądań, przekazywać je do Promise.all i wysyłać, po rozwiązaniu poprzedniego.

Przeczytaj również - Czym są Promises w Javascript?

Przeczytaj także inne artykuły

Jak Stworzyłem Bloga 3 Razy Szybszego Od Wordpressa? Blog w Gatsby.js i GraphCMS

Za pomocą Gatsby.js, darmowego frameworka React.js oraz GraphCMS stworzyłem ultra szybkiego bloga, który na dodatek jest świetnie zoptymalizowany pod kątem SEO. Wykorzystałem do tego architekturę Jamstack, która w dalszym ciągu zyskuje na popularności. Gatsby.js jako Static Site Generator to świetne narzędzie do budowania blogów!

7 grudnia 2021Gatsby
15 min440 wyświetleń