promise.retry

add (timeout and fail) retry for async functions

Usage no npm install needed!

<script type="module">
  import promiseRetry from 'https://cdn.skypack.dev/promise.retry';
</script>

README

promise.retry

add (timeout and fail) retry for async functions

Build Status Coverage Status npm version npm downloads npm license

Install

$ npm i -S promise.retry

Note

this package require async/await environment.

API

const pretry = require('promise.retry')
const TimeoutError = pretry.TimeoutError
const RetryError = pretry.RetryError

pretry

const fnWithRetry = pretry(fn, options);
  • fn the original async function
  • options
    • times : int try how many times
    • timeout : int the timeout for each attempt, in ms
    • onerror : function(err, index) add extra action on an attempt error

TimeoutError

reexport from promise.timeout, see https://github.com/magicdawn/promise.timeout#api

RetryError

if all attempts failed, p = fnWithRetry(), p will be reject with a RetryError instance.

props

  • times : int same as pretry options
  • timeout : int same as pretry options
  • message : string the error message
  • errors : [err1, err2, ...] the errors

See Also

Changelog

CHANGELOG.md

License

the MIT License http://magicdawn.mit-license.org