axios并行请求
有些操作需要在几个异步请求都完成之后再执行,虽然一个Ajax可以放到另一个Ajax完成的回调里面,但这样很容易导致回调地狱,且代码也极其不美观。
幸运的是axios提供了并行请求的方法,
使用方法:
1.先准备好多个请求,如get,放入一个数组中,[axios.get(url1), axios.get(url2), axios.get(url3)]
2.把请求数组放入axios.all中调用
3.在回调的参数是一个数组,分别对应各请求的结果
代码:
let urls = [
'https://jsonplaceholder.typicode.com/posts/1',
'https://jsonplaceholder.typicode.com/posts/2',
'https://jsonplaceholder.typicode.com/posts/3'
]
let axiosList = []
urls.forEach(url => {
axiosList.push(axios.get(url))
})
axios.all(axiosList).then(function (res) {
let p1 = (res[0].data)
let p2 = (res[1].data)
console.info(p1)
console.info(p2)
})
也可以使用spread把请求进行分割,这样注意回调里面的参数会有不同。
 axios.all(axiosList).then(axios.spread(function (res1, res2, res3, res4) {
         let p1 = (res1.data)
         let p2 = (res2.data)
         console.info(p1)
         console.info(p2)
       }))
附axios的post使用示例:
 axios.post(url,{
       username: 'admin',
       password: '1230'
     }).then(res => {
       console.info(res.data)
     }).catch(res =>{
       console.info(res)
     })
axios并行请求的更多相关文章
- 十. Axios网络请求封装
		1. 网络模块的选择 Vue中发送网络请求有非常多的方式,那么在开发中如何选择呢? 选择一:传统的Ajax是基于XMLHttpRequest(XHR) 为什么不用它呢?非常好解释配置和调用方式等非常混 ... 
- vue全局使用axios插件请求ajax
		vue全局使用axios插件请求ajax Vue 原本有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方宣布停止更新vue-resource,并推 ... 
- vue 中使用 async/await 将 axios 异步请求同步化处理
		1. axios 常规用法: export default { name: 'Historys', data() { return { totalData: 0, tableData: [] } }, ... 
- vue axios get请求参数为json对象 而非字符串形式
		axios get请求方式 传递给后台的参数都是字符串下形式,无法传递json对象 或数组对象等 post请求方式则可以实现, 但若后台接口要求必须用get方式传递对象给后台,需要装插件,实 ... 
- Vue项目中使用Vuex + axios发送请求
		本文是受多篇类似博文的影响写成的,内容也大致相同.无意抄袭,只是为了总结出一份自己的经验. 一直以来,在使用Vue进行开发时,每当涉及到前后端交互都是在每个函数中单独的写代码,这样一来加大了工作量,二 ... 
- axios构建请求池处理全局loading状态&&axios避免重复请求
		很多时候我们能够看到类似进度条一样的东西在页面顶部进行加载,代表页面是否加载完成,或者其他的loading效果,我们当然不可能通过promise.all来讲所有的请求合并到一起然后进行处理,这个时候我 ... 
- Vue 使用 axios post请求后台数据时 404
		今天遇到Vue 使用 axios post请求后台数据时 404 使用postman 就能获取到 网上找了大半天 终于找到了解决方法,传送门:https://www.jianshu.com/p/b10 ... 
- axios delete 请求
		axios delete 请求 在传递一个参数的时候,直接把参数放在请求连接后面,用'/' 连接就可以了 this.axios.post(this.APIURL+'/'+ID) //http://ww ... 
- Axios 网络请求组件封装 (鉴权、刷新、拦截)
		一.前言 注意:本教程需要你对axios有一定的了解,不适用于小白(只能借鉴,希望你能自己动手),注释都写的很清楚.此封装并非完整版,已进行部分删减修改操作,但仍然适用于大部分业务场景,如果不适用于你 ... 
随机推荐
- todo---jaxen
- java学习基础知识入门
			基础入门知识(一) 一.java技术的分类 java按照技术标准和应用场景的不同分为三类,分别是JAVASE.JAVAEE.JAVAME JAVASE : 平台标准版,用于开发部署桌面,服务器以及嵌入 ... 
- COleVariant类
			COleVariant本质上是一个枚举,用同一种类型来表达不同的子类型.如同boost中的variant. COLeVariant类是对VARIANT结构的封装. VARIANT结构包含两部分.其一是 ... 
- vue项目搭建通过vue-cli包括组件路由的使用实现基本的前端项目全流程
			github上项目地址:https://github.com/comonly/javaweb_blog/tree/master/blog_diverse_frontend 具体搭建流程及实现方式:ht ... 
- FZU - 2295 Human life (最大权闭合子图)
			题目链接 FZU - 2295 Human life 题目分析 题意:你在玩一个游戏,在其中你可以通过学习一些技能,但是学习某些技能之前,可能还要学习一些其他的技能,并且学习任何技能都有一定的花费: ... 
- 利用Python进行数据分析_Pandas_处理缺失数据
			申明:本系列文章是自己在学习<利用Python进行数据分析>这本书的过程中,为了方便后期自己巩固知识而整理. 1 读取excel数据 import pandas as pd import ... 
- Ubuntu Server 18.04 无法修改 hostname
			对于运维而言,我们希望每台服务器的 hostname 都能体现出它自己的功能/ip,方便排查. ubuntu server live 18.04 的安装流程非常友好,从 ip 到 hostname 都 ... 
- java多线程:继承Thread和实现Runable接口的区别
			java中我们想要实现多线程常用的有两种方法,继承Thread 类和实现Runnable 接口,有经验的程序员都会选择实现Runnable接口 ,其主要原因有以下两点: 首先,java只能单继承,因此 ... 
- 路由器开源系统openwrt配置页面定制
			1. 新建虚拟机,百度文库有一篇<使用VMware安装OpenWrt>,地址:http://wenku.baidu.com/link?url=NkvaQpTf2dR8FpYn7JD9A7- ... 
- 注解@Slf4j使用
			我们在写代码的时候需要加入日志打印,如果不想每次都写private final Logger logger = LoggerFactory.getLogger(XXX.class); 那么可以用注解 ... 
