summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraeme Yeates <yeatesgraeme@gmail.com>2015-07-31 16:22:12 -0400
committerGraeme Yeates <yeatesgraeme@gmail.com>2015-07-31 16:22:12 -0400
commit4124cc348771664c886b46c6c9cb8d6e562bf50a (patch)
tree82ff7323afb7ac4d1556835bab8d6f96e02c6e20
parent7cb31f809ae4b853b6912600ebcdf121ef3f0a78 (diff)
parent04e97df84a987ac2d8230a9179b702674f011cbe (diff)
downloadasync-4124cc348771664c886b46c6c9cb8d6e562bf50a.tar.gz
Merge pull request #872 from caolan/revert-853-each
Revert "Implement eachOf via keyIterator"
-rw-r--r--dist/async.js20
1 files changed, 10 insertions, 10 deletions
diff --git a/dist/async.js b/dist/async.js
index a0652f3..f3cfb80 100644
--- a/dist/async.js
+++ b/dist/async.js
@@ -224,22 +224,22 @@
async.forEachOf =
async.eachOf = function (object, iterator, callback) {
callback = _once(callback || noop);
-
- var nextKey = _keyIterator(obj);
- var key, running = 0;
- while ((key = nextKey()) != null) {
- running += 1;
- iterator(object[key], key, only_once(done));
- }
- if (!running) {
- callback (null);
+ object = object || [];
+ var size = _isArrayLike(object) ? object.length : _keys(object).length;
+ var completed = 0;
+ if (!size) {
+ return callback(null);
}
+ _each(object, function (value, key) {
+ iterator(object[key], key, only_once(done));
+ });
function done(err) {
if (err) {
callback(err);
}
else {
- if (--running) {
+ completed += 1;
+ if (completed >= size) {
callback(null);
}
}