2 回答
TA贡献1865条经验 获得超7个赞
听起来你想要这样的东西
const some = axios.get("/get_some_data").then(res => {
do_some_operation()
return res
})
const other = axios.get("/get_other_data")
Promise.all([some, other]).then(([ someRes, otherRes ]) => {
do_other_operation()
})
这将并行调用两个 URL。
当第一个解析时,它会调用do_some_operation(). 这个(大概)同步操作成为some承诺解决方案的一部分。other一旦 HTTP 请求完成,承诺就会解决。
一旦some和otherpromises 都解决了,调用do_other_operation()
TA贡献1797条经验 获得超4个赞
使用promise all
Promise.all([
get_request("/get_some_data"),
get_request("/get_other_data")
]).then( function(responses) {
console.log(responses);
// do what you want
do_some_operation();
do_other_operation();
}).catch(function(error) {
console.error(error.message);
});
或者
Promise.all([
get_request("/get_some_data").then(function (resp) {
do_some_operation();
return resp;
},
get_request("/get_other_data")
]).then( function(responses) {
console.log(responses);
// do what you want
do_other_operation();
}).catch(function(error) {
console.error(error.message);
});
添加回答
举报