Function createIdleAllPromise

Returns an idle Promise instance that resolves to an array of the results from the input promises. This returned promise will resolve and execute it's pending chained operations asynchronously using the requestIdleCallback API (if available) with the optional provided timeout value to schedule when the chained items will be executed. It rejects immediately upon any of the input promises rejected or non-promises throwing an error, and will reject with this first rejection message / error. When resolved or rejected any additional chained operations will execute asynchronously using the requestIdleCallback API (if available) with the optional provided timeout value to schedule when the chained items will be executed. (eg. then(); catch(); finally()).

  • Type Parameters

    • T

    Parameters

    • input: Iterable<PromiseLike<T>>

      The array of promises to wait to be resolved / rejected before resolving or rejecting the new promise

    • Optionaltimeout: number

      Optional deadline timeout to wait before processing the items, defaults to undefined. If the number of milliseconds represented by this parameter has elapsed and the callback has not already been called, then a task to execute the callback is queued in the event loop (even if doing so risks causing a negative performance impact). timeout must be a positive value or it is ignored.

    Returns IPromise<T[]>

    • An already resolved `Promise`, if the input passed is empty.
    • A pending `Promise` in all other cases. This returned promise is then resolved/rejected __synchronously__ (as soon as the pending items is empty) when all the promises in the given input have resolved, or if any of the promises reject.