promise-map-series
Call an iterator function for each element of an array in series, ensuring
that no iterator is called before the promise returned by the previous
iterator is fulfilled, in effect preventing parallel execution. Like
async.mapSeries,
but for promises.
Installation
npm install --save promise-map-series
Usage
var mapSeries = require('promise-map-series')
mapSeries(array, iterator[, thisArg]).then(function (newArray) {
...
})
-
array
: An array of values (should not be promises).
-
iterator
: Function that returns a promise or a value for the new
array. The iterator
will be called once for each element. If iterator
returns a promise, then iterator
will only be called for the next element
once that promise is fulfilled. If the promise is rejected or iterator
throws an error, iteration will stop immediately and mapSeries
returns a
rejected promise. The iterator
function receives three arguments:
-
item
: The current item in the array.
-
index
: The current index in the array.
-
array
: The original array
argument.
-
thisArg
(optional): Value to use as this
when executing iterator
.