Returns a single asynchronous 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 optional
provided timeout value to schedule when the chained items will be executed, 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 asynchronously using the optional
timeout value to schedul when the chained item will be executed (eg. then(); catch(); finally()).
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.
Returns a single asynchronous 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 optional provided timeout value to schedule when the chained items will be executed, 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 asynchronously using the optional timeout value to schedul when the chained item will be executed (eg.
then()
;catch()
;finally()
).