Skip to content

floatdrop/each-done

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

each-done Build Status

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 array
  • index: the current index
  • done([error]): call this when you're done with an optional error. Supplying anything other than undefined/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

About

each-async + async-done = each-done

Resources

Stars

Watchers

Forks

Packages

No packages published