Function createSyncAllPromise

Returns a single synchronous 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 synchronously in the same execution cycle as the final operation pending promises have resolved, or if the input contains no promises. 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 synchronously at the point of being added (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

    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.