bluebird-as

1.0.3 • Public • Published

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

Package Sidebar

Install

npm i bluebird-as

Weekly Downloads

3

Version

1.0.3

License

MIT

Last publish

Collaborators

  • matthiasg