This commit is contained in:
26
node_modules/licia/parallel.js
generated
vendored
Normal file
26
node_modules/licia/parallel.js
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
var noop = require('./noop');
|
||||
var each = require('./each');
|
||||
var nextTick = require('./nextTick');
|
||||
exports = function(tasks, cb) {
|
||||
cb = cb || noop;
|
||||
var results = [];
|
||||
var pending = tasks.length;
|
||||
if (!pending) return done(null);
|
||||
each(tasks, function(task, i) {
|
||||
task(function(err, result) {
|
||||
taskCb(i, err, result);
|
||||
});
|
||||
});
|
||||
function taskCb(i, err, result) {
|
||||
results[i] = result;
|
||||
if (--pending === 0 || err) done(err);
|
||||
}
|
||||
function done(err) {
|
||||
nextTick(function() {
|
||||
cb(err, results);
|
||||
cb = noop;
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = exports;
|
||||
Reference in New Issue
Block a user