Vue:使用Promise.all()方法并行执行多个请求

在Vue中,可以使用Promise.all()方法来并行执行多个请求。当需要同时执行多个异步请求时,可以将这些请求封装为Promise对象并使用Promise.all()方法来执行它们。

示例1:

以下是一个示例代码,展示了如何通过Promise.all()方法并行执行多个请求:

//定义多个请求
const request1 = axios.get('/api/data1');
const request2 = axios.get('/api/data2');
const request3 = axios.get('/api/data3');

//使用Promise.all()方法执行多个请求
Promise.all([request1, request2, request3])
  .then(function (results) {
    
    
    //results包含了所有请求的结果
    const data1 = results[0].data;
    const data2 = results[1].data;
    const data3 = results[2].data;
    //TODO 处理请求结果
  })
  .catch(function (error) {
    
    
    //TODO 处理请求错误
  });

在上述示例中,定义了三个请求:request1、request2、request3。然后,使用Promise.all()方法来执行这些请求。当所有请求都成功返回时,Promise.all()方法将返回一个包含所有请求结果的数组。可以通过数组索引来获取每个请求的结果。如果其中任何一个请求失败,则Promise.all()方法将立即触发catch()方法,并返回错误信息。

这种并行执行多个请求的方式,可以显著提高程序的性能和响应速度。因为多个请求可以同时进行,而不需要等待每个请求完成后才能执行下一个请求。

示例2:

let [res1, res2] = await Promise.all([
	request({
    
    
	  url: '/api/data1',
	  method: 'get',
	  params: params1
	}),
	request({
    
    
	  url: '/api/data2',
	  method: 'get',
	  params: params2
	})
]);
console.log('res1',res1,'res2',res2);

猜你喜欢

转载自blog.csdn.net/weixin_46098577/article/details/132302715