node package manager



Build Status

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.


npm install --save promise-map-series


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.