我们是否需要取消订阅完成/错误输出的可观察性?

时间:2016-12-26 18:23:53

标签: angular rx-java rxjs system.reactive

当我知道observable肯定会完成时(通过completeerror通知)之前我的组件/类超出范围,我还需要吗?取消订阅以防止内存泄漏?换句话说,完成/错误编辑是否可以自动清理,所以我不必担心?

1 个答案:

答案 0 :(得分:16)

Observable Contract订阅和取消订阅部分对您的问题具有明确性。它声明:

  

当Observable向其观察者发出OnError或OnComplete通知时,这将结束订阅。观察者不需要发出取消订阅通知来结束Observable以这种方式结束的订阅。

Observable Termination 部分也提到了这一点:

  

当Observable向其观察者发出OnError或OnComplete通知时,这将结束订阅。

所以,不,没有必要取消订阅完成或错误的可观察对象。但是,这样做没有坏处。