summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraeme Yeates <yeatesgraeme@gmail.com>2015-07-02 02:33:07 -0400
committerGraeme Yeates <yeatesgraeme@gmail.com>2015-07-02 02:33:07 -0400
commit0f8d920389439707160bf7067a1a29e06ef1ec25 (patch)
tree543f1b57020c1633ce71e73dfe3e1ed9effc8c0e
parentfd7a99c09ceca52e629f70d0ca4cd7a387fb07c1 (diff)
downloadasync-0f8d920389439707160bf7067a1a29e06ef1ec25.tar.gz
Optimize applyEach* via creator function
-rw-r--r--lib/async.js40
1 files changed, 19 insertions, 21 deletions
diff --git a/lib/async.js b/lib/async.js
index 67eb379..c105b69 100644
--- a/lib/async.js
+++ b/lib/async.js
@@ -1157,29 +1157,27 @@
};
- var _applyEach = _restParam(function _applyEach(eachfn, fns, args) {
- var go = _restParam(function(args) {
- var that = this;
- var callback = args.pop();
- return eachfn(fns, function (fn, _, cb) {
- fn.apply(that, args.concat([cb]));
- },
- callback);
+ function _applyEach(eachfn) {
+ return _restParam(function(fns, args) {
+ var go = _restParam(function(args) {
+ var that = this;
+ var callback = args.pop();
+ return eachfn(fns, function (fn, _, cb) {
+ fn.apply(that, args.concat([cb]));
+ },
+ callback);
+ });
+ if (args.length) {
+ return go.apply(this, args);
+ }
+ else {
+ return go;
+ }
});
- if (args.length) {
- return go.apply(this, args);
- }
- else {
- return go;
- }
- });
+ }
- async.applyEach = _restParam(function (args) {
- return _applyEach.apply(null, [async.eachOf].concat(args));
- });
- async.applyEachSeries = _restParam(function (args) {
- return _applyEach.apply(null, [async.eachOfSeries].concat(args));
- });
+ async.applyEach = _applyEach(async.eachOf);
+ async.applyEachSeries = _applyEach(async.eachOfSeries);
async.forever = function (fn, callback) {