Skip to content

Commit

Permalink
Merge pull request #853 from megawac/each
Browse files Browse the repository at this point in the history
Implement eachOf via keyIterator
  • Loading branch information
aearly committed Jul 20, 2015
2 parents 0f5c1c5 + ca131a6 commit db7a645
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions dist/async.js
Original file line number Diff line number Diff line change
Expand Up @@ -224,22 +224,22 @@
async.forEachOf =
async.eachOf = function (object, iterator, callback) {
callback = _once(callback || noop);
object = object || [];
var size = _isArrayLike(object) ? object.length : _keys(object).length;
var completed = 0;
if (!size) {
return callback(null);
}
_each(object, function (value, key) {

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);
}
function done(err) {
if (err) {
callback(err);
}
else {
completed += 1;
if (completed >= size) {
if (--running) {
callback(null);
}
}
Expand Down

0 comments on commit db7a645

Please sign in to comment.