multi v0.1.3
Multi
Run asynchronous methods sequentially or in parallel.
About
Multi provides a mechanism to run callbacks asynchronously in sequence, or in parallel.
Execution can be interrupted if there is an error. After all callbacks have finished executing, the library will provide err, results, containing the errors (null if none) and the respective results of the callbacks.
Installation
To install multi:
npm install multi
To install multi's dependencies:
npm install
You can also install the dependencies with make deps
.
To run the test suites:
make test
Usage
Multi works with objects that have asynchronous methods. It creates a wrapper with the same methods as the original, which can be run either in sequence or in parallel.
The following example wraps the fs
module in a Multi object, and performs some operations:
var fs = require('fs'),
Multi = require('multi');
var mfs = new Multi(fs);
mfs.readFile('./assets/hello.html', 'utf-8');
mfs.readdir('./assets/');
mfs.readFile('./assets/style.css', 'utf-8');
mfs.lstat('./assets/text.txt');
mfs.exec(function(err, results) {
console.log([err, results]);
});
There are several examples provided on the various uses of Multi, available in the examples/
directory.
Options
The following options are accepted in the Multi configuration object (second parameter of constructor):
parallel: Determines if the methods will run in parallel. Defaults to false
interrupt: Interrupts execution if an error is encountered. Defaults to false
License
Copyright © 2012, Ernesto Méndez. (MIT License)
See LICENSE for more info.