Serially executes promise-returning functions and reduces the results with the given accumulator.
$ npm install --save reduce-promises
const { reducePromises, accumulate } = require('reduce-promises')
const functions = [
() => Bluebird.delay(100, 'a'),
() => Bluebird.delay(5, 'b'),
() => Bluebird.delay(20, 'c')
]
reducePromises(functions, _.concat, []) // ['a', 'b', 'c']
The above concat reduction is common enough to warrant a shorthand function.
const functions = [
() => Bluebird.delay(100, 'a'),
() => Bluebird.delay(5, 'b'),
() => Bluebird.delay(20, 'c')
]
accumulate(functions) // ['a', 'b', 'c']
ISC © Raine Revere