javascript / intermediate
Snippet
Robuste Ergebnishandhabung mit Promise.allSettled
Im Gegensatz zu Promise.all, das sofort abbricht, wenn ein Promise fehlschlägt, wartet Promise.allSettled auf den Abschluss aller Operationen, unabhängig von deren Ergebnis. Dies ist wichtig für die Verarbeitung unabhängiger Aufgaben, bei denen ein Fehler andere nicht blockieren sollte.
snippet.js
1
2
3
4
5
6
7
8
9
10
const urls = ['/api/user', '/api/settings'];const results = await Promise.allSettled(urls.map(url => fetch(url)));results.forEach((result, index) => {if (result.status === 'fulfilled') {console.log(`Success ${urls[index]}:`, result.value.status);} else {console.error(`Error ${urls[index]}:`, result.reason.message);}});
nodejs
Erklärung
1
await Promise.allSettled(...)
Wartet darauf, dass alle Promises entweder erfüllt oder abgelehnt werden.
2
result.status === 'fulfilled'
Prüft, ob das spezifische Promise erfolgreich war.
3
result.reason
Enthält das Fehlerobjekt, falls das Promise abgelehnt wurde.