循环发送请求之Javascript递归实现

项目实战问题总结:循环发送请求

循环发送请求,除非必要,否则最好还是不要这么干,尤其是前后端分离项目,应当尽量避免发送多条请求,其实大部分场景下都可以找到可替代的方案。
但不排除一定要这么干的时候,这个需求,可以使用Promise,利用递归思想实现链式发送、处理请求。

我的需求

一个可以多选删除的列表,如果被删除项被一些Service调用,要提示无法删除。

正常思路应该是:把待删除项的id放进数组发给后端,后端返回判断结果,然后前端根据判断结果提示用户。
因为某些原因,实际思路为:前端遍历待删除项的id,依次发送能否删除的请求,如果有一条不能删除,那么所有项都不可删除,根据后端响应提示用户。
所以就用到了野路子——递归实现循环发送请求

代码

private checkReference = (//递归方法在此
        deleteIdList: string[],
        previousItemReference?: boolean,//上一层递归的数据。
    ): Promise<any> => {
   
        const deleteId = deleteIdList.pop()!;
        return deleteId
            ? getExecutionScheduleReference(deleteId)
                .then((data) => {
   
                    const hasReference = data.length > 0
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值