退订 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 可观察到的影响的主要内容,如果未能解决你的问题,请参考以下文章

RxJS - 发生错误时观察到的不会完成

Angular2 beta.12 和 RxJs 5 beta.3 的可观察到的错误

Angular RxJS入门笔记 (Observable可观察对象Subscribe订阅Observer观察者Subscription对象)

rxjs中常用的操作符

一个一个可观察的 RxJS

可观察的数组到数组(Rxjs)