each-done
v1.0.0
Published
each-async + async-done = each-done
Downloads
35
Readme
each-done
Async concurrent iterator (async forEach)
Inspired by eachAsync(), but with async-done inside.
Install
$ npm install --save each-done
Usage
var each = require('each-done');
each(['foo','bar','baz'], function (item, index, done) {
console.log(item, index);
done();
}, function (error) {
console.log('finished');
});
//=> foo 0
//=> bar 1
//=> baz 2
//=> finished
API
eachAsync(array, callback, finishedCallback)
array
The array you want to iterate.
callback(item, index, done)
A function which is called for each item in the array with the following arguments:
item
: the current item in the arrayindex
: the current indexdone([error])
: call this when you're done with an optional error. Supplying anything other thanundefined
/null
will stop the iteration.
Note that order is not guaranteed since each item is handled concurrently.
You can return Promise or Stream from callback function instead of calling done
argument - then callback will be reloved as soon as Stream emits end
or Promise will be resolved.
finishedCallback(error)
A function which is called when the iteration is finished or on the first error. First argument is the error passed from done()
in the callback
.
License
MIT © Vsevolod Strukchinsky