UNPKG

es-next-tools

Version:

A comprehensive utility library for JavaScript and TypeScript that provides a wide range of functions for common programming tasks, including mathematical operations, date manipulations, array and object handling, string utilities, and more.

16 lines (15 loc) 796 B
import { timeout } from './timeout'; /** * Settles all promises with a timeout. * @param {Promise<T>[]} promises - An array of promises to settle. * @param {number} ms - The timeout in milliseconds. * @returns {Promise<PromiseSettledResult<T>[]>} A promise that resolves to an array of settled results. * @template T * @example * const promises = [Promise.resolve(1), Promise.reject('error'), new Promise(resolve => setTimeout(() => resolve(2), 2000))]; * const results = await allSettledWithTimeout(promises, 1500); * // [{ status: 'fulfilled', value: 1 }, { status: 'rejected', reason: 'error' }, { status: 'rejected', reason: Error('Promise timed out after 1500ms.') }] */ export function allSettledWithTimeout(promises, ms) { return timeout(Promise.allSettled(promises), ms); }