diff options
Diffstat (limited to 'lib/forever.js')
-rw-r--r-- | lib/forever.js | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/forever.js b/lib/forever.js new file mode 100644 index 0000000..95f0d5d --- /dev/null +++ b/lib/forever.js @@ -0,0 +1,15 @@ +import noop from 'lodash/utility/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(); +} |