allSettled
asyncWaits for all promises to settle (either resolve or reject) and returns their results. Enhanced version of Promise.allSettled with better TypeScript support.
Signature
allSettled<T>(promises: Promise<T>[]): Promise<Array<{ status: 'fulfilled'; value: T } | { status: 'rejected'; reason: any }>>Parameters
| Name | Type | Description |
|---|---|---|
promises | Promise<T>[] | Array of promises to wait for |
Returns
Promise<Array> - Returns array of settled results with status and value/reason
Examples
Handle all results
import { allSettled } from 'dashlite'
const results = await allSettled([
Promise.resolve(1),
Promise.reject('error'),
Promise.resolve(3)
])
console.log(results)Output:
[{ status: 'fulfilled', value: 1 }, { status: 'rejected', reason: 'error' }, { status: 'fulfilled', value: 3 }]Multiple API calls
import { allSettled } from 'dashlite'
const results = await allSettled([
fetch('/api/users'),
fetch('/api/posts'),
fetch('/api/comments')
])
// All results returned, regardless of failuresAvailable since version 1.2.0