bluebird-as
v1.0.3
Published
Higher Level functions on top of bluebird
Downloads
4
Maintainers
Readme
bluebird-as
A tiny number of helper functions to use with bluebird (other promise libraries not tested) for higher level functions such as sequence etc
Usage
var Promise = require('bluebird');
var as = require('bluebird-as');
as.use(Promise);
sequenceOf
Run Promises in strict sequence (without passing the result).
Note: In bluebird 2.x this is also available with
.each
javascript:
var urls = ['http://www.google.de'];
Promise.resolve(urls)
.then( as.sequenceOf(function(url){
return scrapeUrlIntoDatabaseOrSo(url);
}))
.then(function(){
doSomethingWithAllResultsCollectedInDatabase();
});
coffeescript:
urls = ['http://www.google.de']
Promise.resolve(urls)
.then as.sequenceOf (url)->
scrapeUrlIntoDatabaseOrSo(url)
.then ()->
doSomethingWithAllResultsCollectedInDatabase()
This is like async.eachSeries
sequenceWithParallelism
Run promises in sequence but with a degree of parallelism.
javascript:
var urls = ['http://www.google.de'];
Promise.resolve(urls)
.then( as.sequenceWithParallelism(10,function(url){
return scrapeUrlIntoDatabaseOrSo(url);
}))
.then(function(){
doSomethingWithAllResultsCollectedInDatabase();
});
coffeescript:
urls = ['http://www.google.de']
Promise.resolve(urls)
.then as.sequenceWithParallelism 10, (url)->
scrapeUrlIntoDatabaseOrSo(url)
.then ()->
doSomethingWithAllResultsCollectedInDatabase()
This is like async.eachLimit