Skip to content

Run promise-returning & async functions in series, each passing its result to the next

License

Notifications You must be signed in to change notification settings

sindresorhus/p-waterfall

Repository files navigation

p-waterfall

Run promise-returning & async functions in series, each passing its result to the next

Install

$ npm install p-waterfall

Usage

import pWaterfall from 'p-waterfall';

const tasks = [
	initialValue => getEmoji(initialValue),
	previousValue => `I ❤️ ${previousValue}`
];

console.log(await pWaterfall(tasks, 'unicorn'));
//=> 'I ❤️ 🦄'

API

pWaterfall(tasks, initialValue?)

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.

tasks

Type: Iterable<Function>

Functions are expected to return a value. If a Promise is returned, it's awaited before continuing with the next task.

initialValue

Type: unknown

Value to use as previousValue in the first task.

Related


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.

About

Run promise-returning & async functions in series, each passing its result to the next

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published