const getFilePromises: Promise<any>[] = [];
fileIds.forEach((item) => {
getFilePromises.push(getFileInfoApi({ id: item }));
});
Promise.allSettled(getFilePromises)
.then((res) => {
this.fileList = res.map((item, index) => {
if (item.status == 'fulfilled' && item.value?.data) {
const { name, url, id, suffix } = item.value?.data;
return { uid: id, name, status: 'done', url, fileType: suffix };
} else {
return {
uid: fileIds[index],
name: '加载错误',
status: 'error',
url: ''
};
}
});
})
.catch((res) => {
this.fileList = fileIds.map((item) => {
return { uid: item, name: '加载错误', status: 'error', url: '' };
});
});
1.创建getFilePromises的promise类型变量。
2.把请求通过同步循环的方式push到变量中。
3.在使用Promise.allSettled(变量)一次性请求拿到所有数据。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?