backoffice/node_modules/each-async/readme.md

63 lines
1.5 KiB
Markdown
Raw Normal View History

2020-02-06 10:09:39 +00:00
# each-async [![Build Status](https://travis-ci.org/sindresorhus/each-async.svg?branch=master)](https://travis-ci.org/sindresorhus/each-async)
> Async concurrent iterator (async forEach)
Like [async.each()](https://github.com/caolan/async#eacharr-iterator-callback), but tiny.
I often use `async.each()` for doing async operations when iterating, but I almost never use the other gadzillion methods in `async`.
Async iteration is one of the most used async control flow patterns.
## Install
```sh
$ npm install --save each-async
```
## Usage
```js
var eachAsync = require('each-async');
eachAsync(['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.
#### 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 © [Sindre Sorhus](http://sindresorhus.com)