1.0.3 • Published 10 years ago

bluebird-as v1.0.3

Weekly downloads
23
License
MIT
Repository
github
Last release
10 years ago

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

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

11 years ago

1.0.0

12 years ago

0.0.4

12 years ago

0.0.3

12 years ago

0.0.2

12 years ago

0.0.1

12 years ago