diff options
-rw-r--r-- | lib/async.js | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/lib/async.js b/lib/async.js index 5cbdf84..342f838 100644 --- a/lib/async.js +++ b/lib/async.js @@ -350,19 +350,6 @@ } - function doParallel(fn) { - return function () { - var args = _baseSlice(arguments); - return fn.apply(null, [async.each].concat(args)); - }; - } - function doSeries(fn) { - return function () { - var args = _baseSlice(arguments); - return fn.apply(null, [async.eachSeries].concat(args)); - }; - } - function doParallelOf(fn) { return function (obj, iterator, callback) { return fn(async.eachOf, obj, iterator, callback); @@ -1228,12 +1215,13 @@ return async.seq.apply(null, Array.prototype.reverse.call(arguments)); }; + function _applyEach(eachfn, fns /*args...*/) { function go() { var that = this; var args = _baseSlice(arguments); var callback = args.pop(); - return eachfn(fns, function (fn, cb) { + return eachfn(fns, function (fn, _, cb) { fn.apply(that, args.concat([cb])); }, callback); @@ -1246,8 +1234,16 @@ return go; } } - async.applyEach = doParallel(_applyEach); - async.applyEachSeries = doSeries(_applyEach); + + async.applyEach = function (fns /*, args...*/) { + var args = _baseSlice(arguments); + return _applyEach.apply(null, [async.eachOf].concat(args)); + }; + async.applyEachSeries = function (fns /*, args...*/) { + var args = _baseSlice(arguments); + return _applyEach.apply(null, [async.eachOfSeries].concat(args)); + }; + async.forever = function (fn, callback) { var done = only_once(callback || noop); |