前端进行并发请求

最近在项目中遇到了多批量处理的需求,想着对于批量处理这种情况一般都是后端的小伙伴进行处理,前端提供一个需求批量处理的list即可,但是后端的小伙伴不支持,因此想到了前端可以通过axios.all或者promise进行实现

axios的方式

axios静态的all方法和sprend可以实现并发请求,all方法中的参数是个数组 数组的没一项则代表的是一个请求,通过then的方式可以获取到所有成功的返回值数组

 get function test001(){
   return   axios({
      methods:"get",
      url:"test001.jsp"
   })

  }
 get function test002(){
  return axios({
     methods:"post",
     url:"test002.jsp",
     params:{
     name:“张三”,
     age:"121"
}
    })

}

axios.all([gettest001(),gettest002()]).then(data=>{
  console.log(data)//data则是上述请求中 获取的返回值数据

)

上述代码有个弊端就是当并发请求中存在某一个请求是faild的是时候 则会阻塞返回值,,为了解决这一问题我们将上的代码改在。

 get function test001(){
   return   axios({
      methods:"get",
      url:"test001.jsp"
   }).catch(error=>error)//单个错单个抛出 不进行并发响应的阻塞
  }
 get function test002(){
  return axios({
     methods:"post",
     url:"test002.jsp",
     params:{
     name:“张三”,
     age:"121"
}
    }).catch(error=>error)

}

axios.all([gettest001(),gettest002()]).then(data=>{
  console.log(data)//data则是上述请求中 获取的返回值数据

)

promise和axios的方式基本类似.

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值