下面是我的代码:
async getBranchDetails() ----component method
{
let banks = this.bankDataService.getBanks();
let branchTypes = this.branchDataService.getBranchTypes();
forkJoin([banks,branchTypes]).subscribe(results => {
this.setFormBankData(results[0]);
this.setFormBranchTypeData(results[1]);
});
}
--服务
async getBanks(): Promise<IBankResponse[]> {
return await this.httpClient.get<Result<IBankResponse[]>>(baseUrl + '/Bank/GetBanks')
.pipe(map( res => res.data)).toPromise();
}
Fork join显示已过时。async
/await
是否有其他用法。谢谢。
编辑:我不知道它是否正确,但使用asyn/await..我的最终代码如下
async getBranchDetails()
{
let banks = await this.bankDataService.getBanks();
let branchTypes= await this.branchDataService.getBranchTypes();
this.setFormBankData(banks);
this.setFormBranchTypeData(branchTypes);
}
1条答案
按热度按时间ki1q1bka1#
您混淆了可观察项和承诺项。请使用可观察项和RxJS,或者坚持使用承诺项。
可观察方法(建议):
第一个
承诺方法:
使用承诺时,可以使用Promise.all等待所有请求完成: