retryable-fetch-ts
Version:
`retryable-fetch-ts` is a lightweight TypeScript package designed to simplify API fetching with built-in support for automatic retries and configurable timeouts.
2 lines (1 loc) • 466 B
JavaScript
import b from"axios";async function c(t,n,e="GET"){return await b.get(t,{withCredentials:!0}).catch(r=>r)}var i=(t,n,e,r)=>new Promise((o,u)=>{let a,s=!1;r&&setTimeout(()=>{s=!0},r);let f=setInterval(async()=>{if(a=await c(t,n),a?.status===200||r&&s===!0){clearInterval(f),a.status===200?o(a?.data):u(a);return}},e)});async function g(t,n,e=0,r=0){if(!e&&!r)return await c(t,n);if(e&&!r)return await i(t,n,e);if(e&&r)return await i(t,n,e,r)}export{g as retryFetch};