Web TippsUse custom web fonts in Google Sheets charts(08.09.2026 um 17:05 Uhr)
Web TippsIntroducing the new 1Password App for Google Chat(08.09.2026 um 18:02 Uhr)
Web TippsUse custom web fonts in Google Sheets charts(08.09.2026 um 17:05 Uhr)
Web TippsIntroducing the new 1Password App for Google Chat(08.09.2026 um 18:02 Uhr)

🔧 Programmierung 🕛 vor 1 Jahr 2 Min Lesezeit
0

Do we need Promise.allSettled()?

↗ Quelle (dev.to)
🗣️ Stimme:
📑 Inhaltsübersicht

What do you think about Promise.allSettled()?



To me, allSettled looks like a solution in search of a problem. That problem is developers not handling errors.






The Concept



Promise.allSettled() has a very simple design:




CODE
const allSettled = (promises) => Promise.all(promises.map(entry => entry
.then((value) => ({ status: 'fulfilled', value }))
.catch((reason) => ({ status: 'rejected', reason }))
));






It provides a "consistent" outcome object – well, status is consistent so you can .filter() more cleanly than using Object.hasOwn(), but value and reason are intentionally different so you can't mix them up.



Mostly, allSettled adds a .catch() to each promise for you.






Handle Your Errors



But here's my sticking point: if you are calling a group of services in parallel and you know one or more can fail, yet it doesn't really matter...why aren't you writing error handling for that?




CODE
const getFlakyService = (payload) => fetch(flakyUrl, payload);

Promise.allSettled([
getFlakyService({ type: 'reptiles' }),
getFlakyService({ type: 'mammals' }),
getFlakyService({ type: 'birds' }),
getFlakyService({ type: 'amphibians' }),
]).then((outcomes) => outcomes
.filter(({ status }) => status === 'fulfilled'))
});






How much effort are we saving compared to this:




CODE
const getFlakyService = (payload) => fetch(flakyUrl, payload)
// We don't really care about the failures
.catch(() => undefined);

Promise.all([
getFlakyService({ type: 'reptiles' }),
getFlakyService({ type: 'mammals' }),
getFlakyService({ type: 'birds' }),
getFlakyService({ type: 'amphibians' }),
]).then((data) => { /* ... */ });






If you care about which calls are failing, you likely need the request information accessible for tracking, which isn't guaranteed to be available in the reason. Promise.allSettled is even less helpful in this case and it makes more sense to write your own error handling.




CODE
const getFlakyService = (payload) => fetch(flakyUrl, payload)
// Send the failures details to a tracking/logging layer
.catch((error) => trackRequestError(flakyUrl, payload, error);

Promise.all([
getFlakyService({ type: 'reptiles' }),
getFlakyService({ type: 'mammals' }),
getFlakyService({ type: 'birds' }),
getFlakyService({ type: 'amphibians' }),
]).then((data) => { /* ... */ });






I will grant that the standardization of the "outcome" could be convenient. With allSettled you can count the failures once they all complete. But that's true with custom error handling as well.






Conclusion



I'll continue to use Promise.all() for the near future, but I'm interested to hear about your use cases for Promise.allSettled() and why you prefer it.

Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
3 Quellen
Use custom web fonts in Google Sheets charts
2 Quellen
Introducing the new 1Password App for Google Chat
1 Quelle
Context-aware access controls are available for Gemini Enterprise in the Admin console
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Do we need Promise.allSettled()?

Thematisch verwandte Begriffe: need, PromiseallSettled · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...