diff options
Diffstat (limited to 'lib/retryable.js')
-rw-r--r-- | lib/retryable.js | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/retryable.js b/lib/retryable.js index 3d73f79..26fa609 100644 --- a/lib/retryable.js +++ b/lib/retryable.js @@ -2,10 +2,19 @@ import retry from './retry'; import rest from 'lodash/rest'; export default function (opts, task) { + if (!task) { + task = opts; + opts = null; + } return rest(function (args) { var callback = args.pop(); - retry(opts, function (cb) { + + function taskFn(cb) { task.apply(null, args.concat([cb])); - }, callback); + } + + if (opts) retry(opts, taskFn, callback); + else retry(taskFn, callback); + }); } |