【发布时间】:2021-12-18 22:00:04
【问题描述】:
我正在尝试将服务层的返回传递给组件。
我的服务与 api 连接:
public getPerfilNew$(): Observable<PerfilInvestidor> {
return this.http.get<PerfilInvestidor>(`${environment.api.basePosicaoConsolidada}/consolidado`)
.pipe(
map(res => res),
shareReplay(1),
catchError(err => {
console.log('Error in perfil', err);
return throwError(err);
})
)
}
public getPositionConsolidated(): Observable<PosicaoConsolidada> {
return this.http.get<PosicaoConsolidada>(`${environment.api.basePosicaoConsolidada}/consolidado`)
.pipe(
map(res => res),
shareReplay(1),
catchError(err => {
console.log('Error investiments', err);
return throwError(err);
})
)
}
在我的组件中:我试过了
public loadData() {
//find out if the profile failed or no
this.homeGuardService.getPerfilNew$.pipe(
takeUntil(this.unsubscribe)
).subscribe(res => {
this.perfilInvestidor = res;
this.perfilFailed = this.perfilInvestidor.status ? true : false;
console.log('perfil is failed --->', this.perfilFailed)
})
//checking for investments
this.homeGuardService.getPositionConsolidated().subscribe(res => {
this.positionConsolidated = res
if (this.positionConsolidated) {
this.investments = true
}
});
this.isEverthingFailed = !this.investments && this.perfilFailed
}
我需要外部订阅值来匹配我的变量 isEverthingFailed teria que utilizar 主题?行为主体?因为这样变量 investments 和 perfilFailed 是未定义的
有了这么多的 observables 我会影响内存?我愿意接受建议
【问题讨论】:
标签: javascript angular typescript rxjs