UNPKG

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
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};