在数组循环中进行异步请求,遇到错误中断

需求:就是批量请求某个接口(是不是很坑0.0),然后遇到错误就中断

关键点:数组,异步,中断

ok,上代码

if (selectedRowKeys && selectedRowKeys.length > 0) {
        const goQian = (k) => {
          let u = selectedRowKeys[k]
          let api = u.blockchain === 'ETH' ? getEthDetail : getBtcDetail;
          fetch(api({id: u.id})).then((data) => {
            const arg = ipcRenderer.sendSync('sign-tx', data)
            if (arg && arg.data && arg.data !== '{}' && !arg.errorMsg) {
              const onAutograph = (rawTx, id, blockchain) => {
                let api = blockchain === 'ETHEREUM' ? ethAutograph : btcAutograph;
                fetch(api({id, rawTx})).then(() => {
                  if (selectedRowKeys.length > k + 1) {
                    goQian(k + 1)
                  } else {
                    message.success('签名成功')
                    onPageChange(1)
                  }
                })
              }
              onAutograph(arg.data, data.id, data.blockchain)
            } else {
              message.error(arg.errorMsg);
            }
          })
        }
        goQian(0)
      }

循环调用一个方法,参数为数组的下标,遇到错误的时候不继续调用就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值