How can I implement exponential backoff in Axios?

Responsive Ad Header

Question

Grade: Education Subject: Support
How can I implement exponential backoff in Axios?
Asked by:
49 Viewed 49 Answers
Responsive Ad After Question

Answer (49)

Best Answer
(686)
You can implement exponential backoff using a library like `lodash` or by writing your own function. The basic idea is to increase the delay between retries exponentially with each failed attempt. For example: ```javascript async function retryRequest(request, maxRetries = 3) { let retries = 0; while (retries < maxRetries) { try { return await request; } catch (error) { if (error.response && error.response.status === 520) { retries++; await new Promise(resolve => setTimeout(resolve, Math.pow(2, retries) * 1000)); // Exponential backoff } else { throw error; } } } throw new Error('Max retries exceeded'); } ```