Vue 多次尝试请求ajax

javascript 复制代码
const attemptWithRetries = async(attempts:number, maxRetries: number, count:number) => {
    if(attempts < maxRetries)
    {
        try {
        const param = {
        userid: userid,
        };
        await testApi.getTestList(param).then((res:any) => {
            if(res.length > 0){
                // 处理成功操作
            }
            
        });

        if(attempts < maxRetries)
        {
			// 未到请求次数,抛出异常,接收异常位置再次发起请求
            throw new Error('Request failed');
        }

        } catch (error) {
            setTimeout(() => {
                attempts++
                attemptWithRetries(attempts,maxRetries,count); // 递归调用
            }, 1000); // 等待 1 秒后重试
        }
    }
}

// 调用
 let attempts = 0;
 let maxRetries = 5;       
 attemptWithRetries(attempts,maxRetries,count);

上方代码是尝试五次请求ajax的代码。

注意:ajax请求,要使用async和await,保证一个ajax请求完成后再发起新的尝试,不然会一次性请求五次ajax,不友好

相关推荐
成都渲染101云渲染66665 分钟前
chaos官方给的V-Ray材质优化器怎么样?
前端·3d·材质
wang_book8 分钟前
uniapp学习(003-3 vue3学习 Part.3)
前端·学习·微信小程序·小程序·uni-app·node.js·vue
NiNg_1_23412 分钟前
CSS基础中margin详解
前端·css
carpe diem xt43 分钟前
使用npm i报错node-sass失败问题解决
前端·npm·sass
噼里啪啦啦.1 小时前
CSS的介绍
前端·css
叫我菜菜就好1 小时前
【Flutter、Web——前端个人总结】分享从业经历经验、自我规范准则,纯干货
前端·flutter·uni-app·h5
太阳花ˉ1 小时前
Object.hasOwnProperty() 详解
前端·javascript·vue.js
dot.Net安全矩阵2 小时前
.NET内网实战:不安全的系统令牌特权
前端·windows·安全·web安全·microsoft·.net·交互
zoe_ya2 小时前
「CSS」当你无法感知内部组件时,如何控制它的样式
前端·css
半糖11222 小时前
解决PC端和移动端的css简单适配问题
前端·javascript·css