【问题标题】:Immediately unsubscribing from RxJS Observable立即退订 RxJS Observable
【发布时间】:2016-10-13 11:01:19
【问题描述】:

谁能说明我将如何立即取消订阅RxJS 订阅? observable 来自 Angular 2 EventEmitter。当我收到活动时,我想取消订阅。这里的问题是取消订阅in功能块。我感觉这是错误的做法:

this.subscription = observable.subscribe(result => {
    // do something
    // **unsubscribe**
});

【问题讨论】:

标签: angular rxjs


【解决方案1】:
observable.first().subscribe(....)

将在第一个事件后结束订阅。

RxJs 6+ 更新

observable.pipe(first()).subscribe(....)

【讨论】:

  • 这是我一直在寻找的方法。谢谢
  • 还有其他类似的运算符,如.take(1).skip(5).take(1) 仅获得第6 个事件。
  • 所以如果我使用takefirst 将来我不会得到任何排放,对吗?它是否也适用于BehaviorSubject
  • @GünterZöchbauer,我正在学习 Observables 并试图理解它的逻辑。你说的很有道理。但我认为我可以拿 5 个,用它们做点什么,也许将来会得到新的更新/新值。
  • 我明白了。不,这不是它的工作原理。您需要在subscribe 中计算自己或使用任何方法处理事件并计算自己,如果这是您不关心的位置,请跳过使用if(...)
猜你喜欢
  • 2016-09-27
  • 2016-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-16
  • 2017-10-10
  • 1970-01-01
  • 2018-07-31
相关资源
最近更新 更多