Fork me on GitHub

axios.all处理并发多请求

 1 const tempPlanResult = await getChangeTempPlan({ ecrNum: item.ecrNum });
 2       console.log('tempPlanResult', tempPlanResult);
 3       if (tempPlanResult.code === 200) {
 4         this.setState({
 5           tempPlanData: tempPlanResult.data,
 6         });
 7       }
 8 
 9  const result = await queryPlanDetail(params);
10 
11  axios.all([getChangeTempPlan, queryPlanDetail]).then(() => {
12    this.STOP_LOADING();
13  });

 

 1 function getUserAccount() {
 2   return axios.get('/user/12345');
 3 }
 4 
 5 function getUserPermissions() {
 6   return axios.get('/user/12345/permissions');
 7 }
 8 
 9 axios.all([getUserAccount(), getUserPermissions()])
10   .then(axios.spread((acct, perms) => {
11     // 两个请求都完成后
12   }));

从用法示例中可以看出:

axios.all方法接受一个数组作为参数,数组中的每个元素都是一个请求,返回一个promise对象,当数组中所有请求均已完成时,执行then方法。
在then方法中执行了 axios.spread 方法。该方法是接收一个函数作为参数,返回一个新的函数。接收的参数函数的参数是axios.all方法中每个请求返回的响应。

https://blog.csdn.net/aa_mmnn/article/details/105405893

posted @ 2022-08-08 22:23  让梓航飞  阅读(405)  评论(0)    收藏  举报