概述
axios多次执行查询
今天在做项目时遇到由于对接数据方的平台不稳定,导致查询他们数据时,可能查询失败。为了尽量规避这种问题,于是需要在请求失败后,能够再次发起请求,试图保证数据展示的效果。
代码整理如下
/**
* 响应拦截器
*/
let retry = 4; // 重查次数设置
let retryDelay = 1000; // 重查延时ms
axios.interceptors.response.use(
response => {
if (response.data.code == -1) {
// sql 查询出错时返回 -1
// 添加请求次数系数
response.config.requestCount = response.config.requestCount || 1;
// 当前请求次数小于 重查次数,则执行重新查询
if (response.config.requestCount < retry) {
response.config.requestCount++; // 执行重查后,系数+1
let backoff = new Promise(resolve => {
setTimeout(() => {
resolve();
}, retryDelay || 100);
});
return backoff.then(() => {
return axios(response.config);
});
} else {
return response;
}
} else {
return response;
}
},
error => {
// 错误
console.log(error);
return Promise.reject(error);
}
);
我们这里是通过后台连接的,所以是在resopnse中做的处理,若朋友们是直接连接问题导致的查询失败,也可以将其放到 error中进行同样的处理即可。
最后
以上就是激动可乐为你收集整理的使用axios查询失败后,再次重复发起请求的全部内容,希望文章能够帮你解决使用axios查询失败后,再次重复发起请求所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复