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
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.