A sane control flow library.
Latest commit 5b974f5 Mar 24, 2013 @tim-smart v0.2.0
Signed-off-by: Tim Smart <tim@fostle.com>
Failed to load latest commit information.
.gitignore 0.1.2 - Fix for empty arrays Jun 28, 2011
README First version Jun 28, 2011
index.js Operation#save() + tests Mar 25, 2013
package.json v0.2.0 Mar 25, 2013
test.js Operation#save() + tests Mar 25, 2013



Yet another control flow library after getting fustrated with previous ones.

## Usage

The `next` callback takes the arguments (error, data)

    var AsyncArray = require('async-array')

    var array = new AsyncArray([1, 2, 3, 4])

      .map(function (item, i, next) {
        db.query('SELECT * FROM x WHERE id = ?', [item], next)
      .done(function (error, results) {
        console.log("Got me database listings partner!")
      .forEach(function (db_result, i, next) {
        doSomethingAsync(db_result, next)

As you can see, you can chain stuff and the result is passed along from the previous operation. If you don't call `exec` immediately you can store the operation to be executed at some later time.

`AsyncArray` inherits from `Array` with the following methods added:

- map
- mapSerial
- filter
- filterSerial
- forEach
- forEachSerial

Serial methods do things one after another instead of in parallel.