Run promise-returning & async functions in series, each passing its result to the next
$ npm install p-waterfall
import pWaterfall from 'p-waterfall';
const tasks = [
initialValue => getEmoji(initialValue),
previousValue => `I ❤️ ${previousValue}`
];
console.log(await pWaterfall(tasks, 'unicorn'));
//=> 'I ❤️ 🦄'
Returns a Promise
that is fulfilled when all promises returned from calling the functions in tasks
are fulfilled, or rejects if any of the promises reject. The fulfilled value is the value returned from the last task.
Type: Iterable<Function>
Functions are expected to return a value. If a Promise
is returned, it's awaited before continuing with the next task.
Type: unknown
Value to use as previousValue
in the first task.
- p-series - Run promise-returning & async functions in series
- p-each-series - Iterate over promises serially
- More…
Get professional support for this package with a Tidelift subscription
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.