小编Ren*_*tos的帖子

如何取消订阅角度组件中的多个可观察对象?

取消订阅多个 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)

最好的解决方案是什么?

observable rxjs angular

11
推荐指数
3
解决办法
4992
查看次数

标签 统计

angular ×1

observable ×1

rxjs ×1