From cd6beba687bec8112357ff72b6a610cf245590cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20MBAPE?= Date: Wed, 14 Feb 2018 21:20:35 +0100 Subject: fix "RangeError: Maximum call stack size exceeded" --- lib/internal/eachOfLimit.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/internal/eachOfLimit.js b/lib/internal/eachOfLimit.js index da46fa4..0a1f5bc 100644 --- a/lib/internal/eachOfLimit.js +++ b/lib/internal/eachOfLimit.js @@ -15,6 +15,7 @@ export default function _eachOfLimit(limit) { var nextElem = iterator(obj); var done = false; var running = 0; + var looping = false; function iterateeCallback(err, value) { running -= 1; @@ -26,12 +27,13 @@ export default function _eachOfLimit(limit) { done = true; return callback(null); } - else { + else if (!looping) { replenish(); } } function replenish () { + looping = true; while (running < limit && !done) { var elem = nextElem(); if (elem === null) { @@ -44,6 +46,7 @@ export default function _eachOfLimit(limit) { running += 1; iteratee(elem.value, elem.key, onlyOnce(iterateeCallback)); } + looping = false; } replenish(); -- cgit v1.2.1