summaryrefslogtreecommitdiff
path: root/lib/async.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/async.js')
-rw-r--r--lib/async.js13
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/async.js b/lib/async.js
index a914542..68317d4 100644
--- a/lib/async.js
+++ b/lib/async.js
@@ -456,15 +456,16 @@
async.detectSeries = doSeries(_detect);
function _createTester(eachfn, check, defaultValue) {
- return function(arr, limit, iterator, main_callback) {
+ return function(arr, limit, iterator, cb) {
function done() {
- main_callback(defaultValue);
+ if (cb) cb(defaultValue);
}
function iteratee(x, _, callback) {
+ if (!cb) return callback();
iterator(x, function (v) {
- if (check(v)) {
- main_callback(!defaultValue);
- main_callback = noop;
+ if (cb && check(v)) {
+ cb(!defaultValue);
+ cb = false;
}
callback();
});
@@ -472,7 +473,7 @@
if (arguments.length > 3) {
eachfn(arr, limit, iteratee, done);
} else {
- main_callback = iterator;
+ cb = iterator;
iterator = limit;
eachfn(arr, iteratee, done);
}