如何暂停 Observable?

Jer*_*ins 3 observable rxjs

我正在开发我的第一个 Angular 2 产品。我创建了这个Observable.timer,然后订阅了它。它轮询服务器以获取数据。

我如何暂停和取消暂停?

  ngOnInit(): void {
    this.poll = Observable.timer(500,500).subscribe((t: any) => {
      this.request.getRackList(+this.global.zoneId).subscribe(
        incoming => this.import(incoming),
        err => { this.global.err(err) }
      );
    })
    this.canOpenClose = (this.global.mode === 2);
  }
Run Code Online (Sandbox Code Playgroud)

Mar*_*ten 8

有多种方法可以暂停 Observable。你可以:

  • 需要时取消订阅/重新订阅
  • .filter() 暂停时排放
  • 创建一个可连接的 Observable,以便您可以暂停/开始向所有订阅者发送

  • 我真的很喜欢这个演讲 https://youtu.be/3LKMwkuK0ZE 知识的好地方是 http://reactivex.io 或 http://rxmarbles.com (2认同)