vue如何实现轮询,每隔几秒请求一次

业务场景:某个业务号经过缴费之后,会生成一个保单号,我们需要每隔几秒请求一次拿到保单号

在此场景中,因为保单号是需要第三方平台确认收到账款之后才返回的,而且是一个一个单号返回的,当我们选择n条数据进行操作的时候,我们就必须每隔几秒请求一次,直到我们拿到的保单号和我们请求的数据条数相同时,停止请求

话不多说,直接上代码:
使用的是vue+axios
假设 获取保单号的后端接口为 cashierStatusNotice
参数为 流水号 tradeNo

//下面的写在created生命周期中

let timer
cashierStatusNotice(this.tradeNo).then(res => {
        console.log(res)
        if (res.code === '200') {
          // 保单号的条数
          this.tradeTotalCount = res.data.tradeTotalCount
          // res.data.tradeList 后端返回的保单号集合
          if (res.data.tradeList) {
            this.policyNoS = res.data.tradeList
          }
          console.log(this.policyNoS)
          if (!this.policyNo && this.tradeTotalCount == res.data.tradeList.length) {
            // 如果获取到保单号并且保单号和我们请求的条数相等时,我们清楚定时器,不让他再请求
            clearTimeout(timer) // 清理定时任务
          } else {
          //否则的话,每隔一秒钟请求一次
            timer = setTimeout(() => {
              this.getInit()
            }, 1000)
          }
        }
      }).catch(e => {
        console.log(e)
      })

创作不易,谢谢各位看官,非常感谢,希望可以帮助到你们!!!

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值