Package Exports
- promise-waterfall
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (promise-waterfall) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Promise-waterfall
Promise-waterfall extends promise utilities with sequential flow control like async.waterfall.
Since Promise.all(promiseArr)
|| Promise.spread(promiseArr)
execs promises simultaneously, each of the functions in the promiseArr cannot depend on another, and if you want promises execute in order or some of the promises need the resolved value of another, this library is for you.
Installation
npm install promise-waterfall
Usage
var waterfall = require("promise-waterfall");
var func1 = function(){
// return a promise
},
func2 = function(res1){
// optionally use res1
// which is resolved from func1
// and return a promise
},
func3 = function(res2){
// like func2
},
promiseSequence = [func1, func2, func3];
waterfall(promiseSequence)
// the promiseSequence will executes sequentially
// just like func1().then(func2).then(func3)
.then(function(res){
// use res
})
.catch(function(err){
// deal with error
});
See test cases in /tests
for full examples.
Development
Test
run npm test
or make test
Changelog
- v0.1 (Thanks to @stevenvachon)
- Return a promise(fulfilled when returned normally or rejected when error occurs) in whatever condition;
- Compatible with all libraries conforming to Promises/A+ spec;
- Dropped client support
- v0.0.1
- First release