当我知道observable肯定会完成时(通过complete
或error
通知)之前我的组件/类超出范围,我还需要吗?取消订阅以防止内存泄漏?换句话说,完成/错误编辑是否可以自动清理,所以我不必担心?
答案 0 :(得分:16)
Observable Contract的订阅和取消订阅部分对您的问题具有明确性。它声明:
当Observable向其观察者发出OnError或OnComplete通知时,这将结束订阅。观察者不需要发出取消订阅通知来结束Observable以这种方式结束的订阅。
Observable Termination 部分也提到了这一点:
当Observable向其观察者发出OnError或OnComplete通知时,这将结束订阅。
所以,不,没有必要取消订阅完成或错误的可观察对象。但是,这样做没有坏处。