diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/async.js | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/async.js b/lib/async.js index 06ede14..b8c001b 100644 --- a/lib/async.js +++ b/lib/async.js @@ -1255,14 +1255,13 @@ async.applyEachSeries = doSeries(_applyEach); async.forever = function (fn, callback) { + var done = only_once(callback || noop); + var task = ensureAsync(fn); function next(err) { if (err) { - if (callback) { - return callback(err); - } - throw err; + return done(err); } - fn(next); + task(next); } next(); }; |