我如何将http.get.subscribe转换为 await,以便在进入下一段代码之前可以等待它?
async ngOnInit() {
await this.setupIngredients();
console.log("this text should be displayed after FINISHED");
otherCode();
//....other code
}
我想让... otherCode()
和 console.log("this text should be displayed after FINISHED");
后执行。setupIngredients()
已完成。
我的setupIngredients函数是这样的。
setupIngredients() {
this.indicatorDataService.http.get(this.baseGetUrl + "entity=ingredients&indicator=all").subscribe(res => {
// do something with res
});
}
我还是不知道为什么它不能转换为正确的Promise。我试着把subscribe替换成toPromise,但还是不行。
我通过将订阅包装成这样的 Promise 来解决这个问题。
setupIngredients() {
return new Promise(resolve => {
this.indicatorDataService.http.get(this.baseGetUrl + "entity=ingredients&indicator=all").subscribe(res => {
// do something with res
resolve();
});
});
}