capypad
0 Tage Serie
javascript / intermediate
Snippet

Resiliente parallele Asynchronität mit Promise.allSettled

Im Gegensatz zu Promise.all wartet Promise.allSettled darauf, dass alle Promises abgeschlossen sind, unabhängig davon, ob sie erfolgreich waren oder abgelehnt wurden.

snippet.js
javascript
1
2
3
const promises = [fetch('/api/1'), fetch('/api/2')];
const results = await Promise.allSettled(promises);
results.forEach(res => console.log(res.status));
Erklärung
1
Promise.allSettled(promises)
Führt mehrere Promises parallel aus, ohne bei einem Fehler sofort abzubrechen.
2
res.status
Jedes Ergebnisobjekt enthält einen Status-String: 'fulfilled' oder 'rejected'.