Kiedy użyć Promise.all, allSettled i ograniczonej liczby wykonawców?
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
Promise.all przydaje się, gdy potrzebuję kompletu wyników i jeden błąd ma oznaczać błąd całości. Promise.allSettled zbiera osobno sukces lub błąd każdej operacji. Pasuje na przykład do niezależnych źródeł, z których część może być chwilowo niedostępna.
Żadne z tych narzędzi samo nie ogranicza liczby rozpoczętych żądań. Jeśli najpierw wywołam fetch dla tysiąca adresów, praca już ruszy. Żeby mieć najwyżej trzy aktywne odczyty, potrzebuję puli: po zakończeniu jednego wykonawca bierze kolejny element. Odrzucenie wyniku all nie anuluje automatycznie pozostałych operacji. Limit jednoczesnych operacji to też coś innego niż limit żądań na sekundę.
Dlaczego to ważne: Naturalny temat live codingu oraz skilla pobierającego wiele źródeł.
Możliwe dopytania: Jak zachować kolejność wyników? Co po anulowaniu zadania?
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.
Zacznij od
- B-P01 · Czym jest Node.js i czym różni się od JavaScriptu w przeglądarce? — JavaScript, TypeScript i Node.js
- B-P04 · Co to jest Promise? — JavaScript, TypeScript i Node.js
- B-P10 · Co daje TypeScript i czego nie daje? — JavaScript, TypeScript i Node.js
Powiązane pytania
- Promise.all, allSettled i limit współbieżności — JavaScript, TypeScript i Node.js
Przećwicz w kodzie
- Najwyżej trzy aktywne operacje — uruchamia testy w przeglądarce
Dalsza lektura
- Node.js: The Event Loop(otwiera się w nowej karcie)Docs; dostęp 22.10.2026. Fazy event loop, timery i zależności od wersji Node/libuv.