UNPKG

@viveknayyar/re-promise

Version:

Retry failed api calls with a backoff time

3 lines (2 loc) 571 B
const e=({fn:e,retries:r=3,retryDelay:t=0,retryOn:n,backOffFactor:i=1,debug:o=!1})=>new Promise((s,a)=>{const y=({remainingRetries:e,retryDelay:t,e:n})=>(o&&(console.group("Retry Attempt: "+(r-e+1)),console.dir({remainingRetries:e-1,retryDelay:t,error:n}),console.groupEnd()),new Promise(r=>{setTimeout(()=>r(c(e-1,t*i)),t)})),c=(r,t)=>{e().then(s).catch(e=>{if(!(r>0))return a(e);if(n){if(!n(e))return a(e);y({remainingRetries:r,retryDelay:t,e})}else y({remainingRetries:r,retryDelay:t,e})})};c(r,t)});export{e as retryPromise}; //# sourceMappingURL=index.modern.js.map