diff options
Diffstat (limited to 'lib/internal/eachOfLimit.js')
-rw-r--r-- | lib/internal/eachOfLimit.js | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/internal/eachOfLimit.js b/lib/internal/eachOfLimit.js index 61fd6a4..da46fa4 100644 --- a/lib/internal/eachOfLimit.js +++ b/lib/internal/eachOfLimit.js @@ -4,6 +4,8 @@ import once from './once'; import iterator from './iterator'; import onlyOnce from './onlyOnce'; +import breakLoop from './breakLoop'; + export default function _eachOfLimit(limit) { return function (obj, iteratee, callback) { callback = once(callback || noop); @@ -14,13 +16,14 @@ export default function _eachOfLimit(limit) { var done = false; var running = 0; - function iterateeCallback(err) { + function iterateeCallback(err, value) { running -= 1; if (err) { done = true; callback(err); } - else if (done && running <= 0) { + else if (value === breakLoop || (done && running <= 0)) { + done = true; return callback(null); } else { |