Promise.all代替axios.all
昨天正在做一个功能,需要前端调用十几个接口,十几个接口完成后,再刷新页面,然后看了一下axios的官网(https://github.com/axios/axios)才发现axios.all已经被标记为Deprecated,并且建议用Promise.all。
以下示例代码,实现了根据页面返回结果,动态构建多个请求,所有请求完成后,重新执行检索,刷新结果。
这里面有嵌套的请求,注意一定要return。
let requests = [];
this.pageResult.data.forEach((item) => {
requests.push(
getServiceVersion(item)
.then((response) => {
const currentVersion = response.data.version;
if (item.version != currentVersion) {
this.$Message.info(
"服务:" +
item.name +
" 数据库版本:" +
item.version +
" 当前版本:" +
currentVersion
);
return updateService(
Object.assign(item, { version: currentVersion })
)
.then((res) => {
return res;
})
.catch((error) => {
return error;
});
}
})
.catch((error) => {
return error;
})
);
});
Promise.all(requests).then((responses) => {
this.search();
});
}
本文标题:Promise.all代替axios.all
本文链接:https://www.haomeiwen.com/subject/mridjktx.html
网友评论