axios 超时重新发送请求
2020-05-21 本文已影响0人
伴歌知行
需求
最近在工作中遇到这样一个需求:使用axios在调用后台接口超时时,需要重新发送请求。
解决办法
最为简单的办法是使用第三方的库:axios-retry
安装
npm install axios-retry
在引入axios同时引入并配置
import axios from 'axios';
import axiosRetry from 'axios-retry';
axiosRetry(axios, {
retries: 1, // 设置自动发送请求次数
retryDelay: (retryCount) => {
return retryCount * 1000; // 重复请求延迟
},
shouldResetTimeout: true, // 重置超时时间
retryCondition: (error) => {
//true为打开自动发送请求,false为关闭自动发送请求
if (error.message.includes("timeout")) {
return true;
} else {
return false;
};
}
});