【发布时间】:2021-04-10 19:36:21
【问题描述】:
我有一个关于使用 observables 的干净代码和最佳实践的问题。 我创建了函数'loadAllSubstancesFromBackend',它返回一个observable,使用angular的httpClient从后端获取所有数据。 还有一个主题,如果物质发生变化,则该主题将被重视。我订阅了那个 observable 并使用 switchMap 来刷新数据。
// inner observable
private loadAllSubstancesFromBackend(): Observable<ISubstance[]> {
return this.httpClient.get<ISubstanceDTO[]>(`${environment.FOODLIST_API_URL}/substances`)
}
// outer observable
this.substancesChanged
.pipe(
switchMap(this.loadAllSubstancesFromBackend.bind(this))
)
.subscribe();
constructor(private readonly httpClient: HttpClient) {}
我的问题是,是否有任何方法可以摆脱内部 observable 上的这个 .bind() 。就像在内部可观察对象中进行依赖查找一样摆脱“this”。
请告诉我,如果我遗漏了任何重新评定社区规则的内容。
最好的问候, 史蒂芬
【问题讨论】:
标签: angular dependency-injection observable