Skip to content
A sane control flow library.
JavaScript
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitignore
README
index.js
package.json v0.2.0
test.js

README

AsyncArray
==========

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])

    array
      .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)
      })
      .exec()

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.

Something went wrong with that request. Please try again.