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