summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Early <alexander.early@gmail.com>2015-07-02 00:27:08 -0700
committerAlexander Early <alexander.early@gmail.com>2015-07-02 00:27:08 -0700
commitac170ba5a22a7b8ffaf03ad638e8857fe7150d86 (patch)
tree5c56231accf34cd3c4a870c2cb1bdce4bbced9e2
parent69a3b67dc6e93711aa746e41366de3f54ef20704 (diff)
parent0f8d920389439707160bf7067a1a29e06ef1ec25 (diff)
downloadasync-ac170ba5a22a7b8ffaf03ad638e8857fe7150d86.tar.gz
Merge pull request #827 from megawac/create-apply-each
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 52f5f2c..312000f 100644
--- a/lib/async.js
+++ b/lib/async.js
@@ -1147,29 +1147,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) {