Permalink
Browse files

First version

  • Loading branch information...
tim-smart committed Jun 28, 2011
0 parents commit db1c25ba39ceab71eee3f776fceefe3d8e20b471
Showing with 513 additions and 0 deletions.
  1. +38 −0 README
  2. +420 −0 index.js
  3. +11 −0 package.json
  4. +44 −0 test.js
38 README
@@ -0,0 +1,38 @@
+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.
+
Oops, something went wrong.

0 comments on commit db1c25b

Please sign in to comment.