【发布时间】:2021-02-08 03:44:37
【问题描述】:
我的 Angular 应用程序中有 BaseComponent 类,它为 observables 实现了 destroy$: Subject<void>。每次我订阅服务时,我都在做:
this.myService.loadData()
.pipe(takeUntil(this.destroy$))
.subscribe(data => this.userData = data);
我想避免到处写.pipe(takeUntil(this.destroy$)),我想知道,有没有办法为可观察和处理takeUntil 创建扩展方法?例如将.pipe(takeUntil(this.destroy$)) 移动到我的自定义方法ifAlive 并使其看起来像这样:
this.myService.loadData()
.isAlive()
.subscribe(...);
有什么想法吗?
【问题讨论】:
-
还有其他方法。参考这个答案:stackoverflow.com/a/60223749/6513921
-
这个答案 (stackoverflow.com/a/41177163/9423231) 涵盖了一些选项,例如 until-destroy。
标签: angular typescript rxjs observable extension-methods