promise-map
promise-map control promises concurrently and support Promise.all and allSettled. It does not short-circuit when value is rejected if you need.
Install
$ npm install pp-map
Usage
const promiseMap = require('pp-map')
const addOne = n => Promise.resolve(n + 1)
const list = [
Promise.resolve(3),
Promise.resolve(4),
Promise.resolve(5),
6,
7,
8
]
promiseMap(list, x => addOne(x), { concurrency: 3 }).then(o => { console.log(o) })
When value is rejected
const promiseMap = require('pp-map')
const addOne = n => Promise.resolve(n + 1)
const list = [
Promise.resolve(3),
Promise.reject(4),
Promise.resolve(5),
6,
7,
8
]
promiseMap(list, x => addOne(x), { concurrency: 3 })
.then(o => { console.log(o) })
.catch(e => { console.error('error', e) })
promiseMap(list, x => addOne(x), { concurrency: 3, settled: true })
.then(o => { console.log(o) })
.catch(o => { console.error('error', e) })
API
promiseMap(promises, mapper, options?)
promises
A list of promise or any value.
options
options.concurrency: Integer
Default: Infinity
Minimum: 1
options.settled: Boolean