Package Exports
- tiny-each-async
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (tiny-each-async) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
tiny-each-async
Asynchronous iterator function similar to (and inspired by) async.each, with support for concurrency limit and item index.
Usage
each(array, [limit], iterator, [callback])
Arguments:
- array - An array of items to iterate through.
- [limit] - An (optional) integer for determining how many
iterator
functions should be run in parallel. - iterator(item, [index], callback) - A function to be applied to each item in the array. When it has finished processing the item then the
callback
function should be called (in case of a failure with theerror
argument, otherwise none). - callback(err) - An optional callback function that gets called when either all
iterator
functions have finished or one of them has returned an error.
Example
var eachAsync = require('tiny-each-async');
var timeouts = [300, 100, 2000];
eachAsync(['file1', 'file2', 'file3'], function(item, index, next) {
setTimeout(function() {
console.log(item, index, timeouts[index]);
next();
}, timeouts[index]);
}, function(err) {
return err ? console.error(err.stack) : console.log('all done');
});
For more examples checkout the /examples folder.
FAQ
- Why the name?
Other possible names were already taken, and the actual source code is tiny.
- Why create another async library?
Because doing your own thing is fun.
- What if my iterator function is sync, but I want it && the callback to be async?
Then you might want to use dezalgo.