Promise.each( Iterable<any>|Promise<Iterable<any>> input, function(any item, int index, int length) iterator ) -> Promise
Iterate over an array, or a promise of an array, which contains promises (or a mix of promises and values) with the given
iterator function with the signature
(value, index, length) where
value is the resolved value of a respective promise in the input array. Iteration happens serially. If the iterator function returns a promise or a thenable, then the result of the promise is awaited before continuing with next iteration. If any promise in the input array is rejected, then the returned promise is rejected as well.
Resolves to the original array unmodified. This method is meant to be used for side effects.