我是靠谱客的博主 激动可乐,最近开发中收集的这篇文章主要介绍使用axios查询失败后,再次重复发起请求,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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查询失败后,再次重复发起请求所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部