auto-async

auto run async dependencies

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
auto-async
001.0.17 years ago7 years agoMinified + gzip package size for auto-async in KB

Readme

auto-async
Auto magically resolves async dependencies on the fly. In addition to what async.auto and autorun does, auto-async does resolve all the possible async tasks by not stopping on the first error.

Usage

var autoAsync = require('auto-async');
autoAsync(asyncDef, callback, continueOnError);

Code

var autoAsync = require('auto-async');

var asyncDef = {
  a: function a(cb, results) {
    console.log('a');
    cb(null, {key: 'a'});
  },
  b: ['a', function b(cb, results) {
    console.log('b');
    cb(null, {key: 'b'});
  }],
  c: ['b', function c(cb, results) {
    console.log('c');
    cb(null, {key: 'c'});
  }]
};

autoAsync(asyncDef, function onResponse(err, results, state) {
    // err - first error encountered
    // results - all resolved nodes
    // state - status of each node err/response
});

continueOnError

continueOnError flag controls if the async resolution should stop on the first error or continue to resolve as many async tasks as possible.
autoAsync(asyncDef, function onResponse(err, results, state) {
    // err - in case graph fails
    // results - all possible resolved nodes
    // state - status of each node err/response
}, true);