2
0
mirror of https://github.com/tenrok/axios.git synced 2026-06-17 19:21:29 +03:00
Files
axios/test/helpers/retry.js
T
Jay ef3711d1b3 feat: implement prettier and fix all issues (#7385)
* feat: implement prettier and fix all issues

* fix: failing tests

* fix: implement feedback from codel, ai etc

* chore: dont throw in trim function

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* fix: incorrect fix

---------

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2026-02-14 16:59:48 +02:00

21 lines
564 B
JavaScript

export const retryNetwork = async (fn, retries = 3, delay = 1000) => {
let attempt = 0,
sleep;
do {
try {
return await fn();
} catch (err) {
if (err.code === 'ERR_NETWORK' && attempt++ < retries) {
sleep = attempt * attempt * delay;
console.warn(
`[ERR_NETWORK]: Attempt ${attempt}/${retries}${err.config ? ' [' + err.config.url + ']' : ''} sleep [${sleep}ms]`
);
await new Promise((resolve) => setTimeout(resolve, sleep));
} else {
throw err;
}
}
} while (true);
};