allSettled

async

Waits 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

NameTypeDescription
promisesPromise<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 failures

Available since version 1.2.0