diff options
author | Graeme Yeates <yeatesgraeme@gmail.com> | 2015-07-31 16:22:12 -0400 |
---|---|---|
committer | Graeme Yeates <yeatesgraeme@gmail.com> | 2015-07-31 16:22:12 -0400 |
commit | 4124cc348771664c886b46c6c9cb8d6e562bf50a (patch) | |
tree | 82ff7323afb7ac4d1556835bab8d6f96e02c6e20 | |
parent | 7cb31f809ae4b853b6912600ebcdf121ef3f0a78 (diff) | |
parent | 04e97df84a987ac2d8230a9179b702674f011cbe (diff) | |
download | async-4124cc348771664c886b46c6c9cb8d6e562bf50a.tar.gz |
Merge pull request #872 from caolan/revert-853-each
Revert "Implement eachOf via keyIterator"
-rw-r--r-- | dist/async.js | 20 |
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); } } |