axios发送并发请求
axios发送并发请求
有时候需要一次性发送多个网路请求,等到所有请求都成功返回之后再进行下一步操作
方法一: 自行封装函数,每个网络请求结束后设置一个flag,检测到所有的flag都返回之后再进行下一步操作
方法二: 使用Promise.all([请求1, 请求2,...])来实现
方法三: axios实现并发请求,类似于Promise.all的使用方式
语法:
axios.all([请求1,请求2,...]).then(results)
// 返回结果results是一个数组,按顺序保存各个请求返回的结果
示例:
axios.all([ axios({ url: 'http://123.207.32.32:8000/home/multidata', }), axios({ url: 'http://123.207.32.32:8000/home/data', params:{ type: 'sell', page: 5 } }) ]).then(results => { console.log(results); })
注:返回的结果可以用axios.spread()来解构,用的较少