Oh, no, I insist
Flexible retry for JavaScript promises. Supports native Promises and 3rd party A+ Promise libraries.
Installation
Install using NPM
npm install oh-no-i-insist -S
Usage
promiseGenerator
:function
that should return aPromise
you want to retry. Will be invoked once per each try.delay
:int
number of milliseconds between retriesmaxTimes
:int
the number of times to retrypredicate
:function (error)
optional a function executed to check if the error is retriable. It will receive the error/rejection reason, and should returntrue
if it is retriable. Returnfalse
to break the retry chain.onRetry
:function
optional a function that will be executed before waiting for each retry, but not before the first try. Use this to clean up resources, tell the user that you're waiting for a retry and things like thatPromiseImplementation
:class
optional if working with an older Node.js implementation, the 3rd partyPromise
implementation that you want to use. If working with a more recent Node.js version and you want to use the nativePromise
, don't supply this argumenrt
Example
var retry = { return { var x = Math; if x < 03 ; else ; }; } { console; return number > 06; } { console; }; ;
License
MIT