js vue 并行执行异步操作

import { ref, onMounted } from 'vue';
import axios from 'axios';
export default {
  setup() {
    // 声明响应式数据引用
    const data = ref(null);
    const data2 = ref(null);
    const data3 = ref(null);
    const data4 = ref(null);
    onMounted(async () => {
      // 使用Promise.all来处理并发的axios请求
      await Promise.all([
        axios.get('https://api.example.com/data'),
        axios.get('https://api.example.com/data2'),
        axios.get('https://api.example.com/data3'),
        axios.get('https://api.example.com/data4')
      ]).then(responses => {
        // 所有请求成功完成后,更新响应式数据
        data.value = responses[0].data;
        data2.value = responses[1].data;
        data3.value = responses[2].data;
        data4.value = responses[3].data;
        // 这里可以放置所有异步任务完成后的代码...
      }).catch(error => {
        // 处理请求中出现的任何错误
        console.error('请求错误:', error);
      });
    });
    // 返回响应式状态供模板或其他Composition API使用
    return {
      data,
      data2,
      data3,
      data4
    };
  }
};

 

====
参考
https://developer.aliyun.com/article/1656953