退订 RxJS 可观察到的影响
Posted
技术标签:
【中文标题】退订 RxJS 可观察到的影响【英文标题】:Unsubscribe From RxJS Observable Impact 【发布时间】:2017-09-21 03:34:30 【问题描述】:RxJS Stream 完成后不取消订阅有什么影响? 例如Angular 2 Http 请求。
这会导致内存泄漏吗?!
【问题讨论】:
***.com/q/38008334/3055401 你也可以在angular中实现自动退订。见这篇文章:netbasal.com/automagically-unsubscribe-in-angular-4487e9853a88 【参考方案1】:您实际上不必取消订阅 http 请求,因为它们在响应/错误到达(并返回给订阅者)后立即完成。
影响将是 Observable / Subscription javascript 变量不会被垃圾回收,因为它们会留下引用,进而造成内存泄漏。
它可能会或可能不会影响性能,取决于创建新的 Observable/Subscription 和“任其腐烂”的次数。
【讨论】:
以上是关于退订 RxJS 可观察到的影响的主要内容,如果未能解决你的问题,请参考以下文章
Angular2 beta.12 和 RxJs 5 beta.3 的可观察到的错误
Angular RxJS入门笔记 (Observable可观察对象Subscribe订阅Observer观察者Subscription对象)