取消订阅多个 observable的最佳策略是什么?为了清楚起见,当应用程序不大并且不需要诸如ngrx 之类的解决方案时,我会使用这种方法,因为在这种情况下会过度设计。
目前我使用订阅实例来添加所有订阅,然后当组件被销毁时我调用取消订阅方法。但我也看到了使用rxjs 中的takeUntil 的替代方案。
export class MyComponent implements OnInit, OnDestroy {
$firstObservable: Observable<number> = timer(0, 1000);
$secondObservable: Observable<number> = timer(0, 1000);
private _subscriptions = new Subscription();
constructor() { }
ngOnDestroy(): void {
this._subscriptions .unsubscribe();
}
ngOnInit(): void {
this._subscriptions .add(
this.$firstObservable.subscribe(console.log));
this._subscriptions .add(
this.$secondObservable.subscribe(console.log));
}
}
Run Code Online (Sandbox Code Playgroud)
最好的解决方案是什么?