A simple JavaScript helper for adding a retry interval for rejected promises.
$ npm install mulligan --saveMulligan works with any promise library that implements an ES6 style promise constructor. It works by wrapping a resolver function.
var Promise = require('any-supported-promise-library')
var mulligan = require('mulligan')
var promise = new Promise(mulligan(
5, // the number of times to try before rejecting
1000, // the number of milliseconds to wait between retries
function (resolve, reject) {} // promise resolver
))Mulligan takes a function as an optional fourth argument to support conditional
retries. It receives the error from the last rejection as the first argument.
If the function returns true it will move on the the next attempt. If the
function returns false the promise will be rejected immediately.