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

    Install

    npm i bluebird-as

    DownloadsWeekly Downloads

    2

    Version

    1.0.3

    License

    MIT

    Last publish

    Collaborators

    • matthiasg