diff options
Diffstat (limited to 'lib/forever.js')
-rw-r--r-- | lib/forever.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/forever.js b/lib/forever.js new file mode 100644 index 0000000..82d004a --- /dev/null +++ b/lib/forever.js @@ -0,0 +1,17 @@ +'use strict'; + +import noop from 'lodash/noop'; + +import onlyOnce from './internal/onlyOnce'; +import ensureAsync from './ensureAsync'; + +export default function forever(fn, cb) { + var done = onlyOnce(cb || noop); + var task = ensureAsync(fn); + + function next(err) { + if (err) return done(err); + task(next); + } + next(); +} |