当前位置: 首页 > article >正文

Vue 多次尝试请求ajax

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,不友好


http://www.kler.cn/a/350133.html

相关文章:

  • 靶机复现-pikachu靶机文件包含漏洞
  • 16_动态提示窗口_协程延时
  • Linux内核中的InfiniBand核心驱动:verbs.c分析
  • 在 vscode + cmake + GNU 工具链的基础上配置 JLINK
  • 代码随想录——串
  • 深圳大学-计算机系统(3)-实验三取指和指令译码设计
  • QT--Qlabel学习、获取文本和设置文本、文本对齐方式、文本换行、显示图片
  • 【音频生成】mac安装ffmpeg
  • Python | Leetcode Python题解之第476题数字的补数
  • 【vue】前端学习
  • 【ShuQiHere】 K-means 聚类算法详解:公式、代码与实战
  • Gin解说
  • 二、变量数据类型
  • OpenStack服务Swift重启失效(已解决)
  • 漏洞挖掘 | 记一次越权修改敏感信息
  • react+ts+vite 别名一直爆红问题
  • ChatTTS 本地安装和测试
  • Android常用界面控件——ProgressBar
  • PHP实现TOTP: Time-Based One-Time Password Algorithm
  • JAVA 中的克隆对象
  • 强化学习和QLearning及GAN到底是什么关系啊
  • SpringSecurity(一)——认证实现
  • 一区大黄蜂!人工蜂群算法优化!ABC-CNN-LSTM-MATT多特征分类预测
  • Jackson在Spring Boot中的开发技巧详解
  • 在顺序结构和链式结构的线性表上实现顺序检索算法
  • Ascend C算子编程和C++基础 Lesson3-4 性能优化