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

浙公网安备 33010602011771号