Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Common patterns for asynchronous code, minimalistic version for Node.js
branch: master

update

latest commit 7c6ffa15bf
Youu Rayy authored
Failed to load latest commit information.
lib
test
LICENSE license
README.md
example.js 0.2.0
package.json 0.2.0

README.md

Common patterns for asynchronous code, minimalistic version (async-mini)

If you only need async.series() and async.parallel() in the most simplest, stable and predictable form, then this module is for you.

Update for 2.x: series() now supports its first argument to be an object, in which case the result comes back as an object, keyed by the same keys as the argument — this is the same behavior as parallel() has. The usage with array is unaffected. This is a non-breaking change because previously series() only supported an array argument.

Usage

npm install async-mini
var async = require('./async-mini');

var arr = [
    function(cb) {
        cb(null, 'arr 1');
    },
    function(cb) {
        cb(null, 'arr 2');
    }
];

var obj = {
    one: function(cb) {
        cb(null, 'obj 1');
    },
    two: function(cb) {
        cb(null, 'obj 2');
    }
};

async.series([

    function(cb) {
        async.series(arr, cb);
    },
    function(cb) {
        async.series(obj, cb);
    },
    function(cb) {
        async.parallel(arr, cb);
    },
    function(cb) {
        async.parallel(obj, cb);
    }

], function(err, res) {

    console.log(JSON.stringify(res, null, '  '));
});

The above code will print:

[
  [
    "arr 1",
    "arr 2"
  ],
  {
    "one": "obj 1",
    "two": "obj 2"
  },
  {
    "0": "arr 1",
    "1": "arr 2"
  },
  {
    "one": "obj 1",
    "two": "obj 2"
  }
]
Something went wrong with that request. Please try again.