0 Tage Serie
javascript / intermediate
Snippet

Robustes Async mit Promise.allSettled

Promise.allSettled wartet darauf, dass alle Promises abgeschlossen sind, unabhängig davon, ob sie erfüllt oder abgelehnt wurden. Dies ist ideal für Batch-Operationen, bei denen man das Ergebnis jeder Aufgabe wissen möchte, anstatt beim ersten Fehler abzubrechen.

snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
const tasks = [
Promise.resolve('Done'),
Promise.reject('Failed')
];
Promise.allSettled(tasks).then(results => {
results.forEach(res => {
if (res.status === 'fulfilled') console.log(res.value);
else console.error(res.reason);
});
});
Erklärung
1
Promise.allSettled(tasks)
Wartet darauf, dass jede Promise im Array einen Endzustand erreicht.
2
res.status === 'fulfilled'
Jedes Ergebnisobjekt enthält eine status-Eigenschaft, um Erfolg von Fehlern zu unterscheiden.
3
res.reason
Enthält die Fehlermeldung oder den Grund für abgelehnte Promises.