gpt4 book ai didi

angular - forkjoin 在 Angular 10 替代方案中已弃用

转载 作者:行者123 更新时间:2023-12-04 15:57:52 26 4
gpt4 key购买 nike

下面是我的代码:

 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);

}

最佳答案

您正在混合 Observables 和 Promises。要么使用 Observables 和 RxJS,要么坚持使用 Promises。
Observables 方法 (受到推崇的):

getBanks(): Observable<IBankResponse[]> {
return this.httpClient.get(baseUrl + '/Bank/GetBanks')
.pipe(map( res => res.data));
}
let banks = this.bankDataService.getBanks();
let branchTypes = this.branchDataService.getBranchTypes();

forkJoin([banks,branchTypes]).subscribe(results => {
this.setFormBankData(results[0]);
this.setFormBranchTypeData(results[1]);
});
promise 方法 :
getBanks(): Promise<IBankResponse[]> {
return this.httpClient.get<Result<IBankResponse[]>>(baseUrl + '/Bank/GetBanks')
.pipe(map( res => res.data)).toPromise();
}
使用 Promise 时,您可以使用 Promise.all等待所有请求完成:
let banks = this.bankDataService.getBanks();
let branchTypes = this.branchDataService.getBranchTypes();

Promise.all([banks,branchTypes]).then(results => {
this.setFormBankData(results[0]);
this.setFormBranchTypeData(results[1]);
});

关于angular - forkjoin 在 Angular 10 替代方案中已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65353457/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com