![]() |
1
1
不 如果在代码中的任何地方调用.subscribe,则不泄漏内存的唯一方法是确保这些订阅再次被取消订阅。 您需要手动取消订阅每一个,或者确保订阅的观测值都是有限的——这意味着它们在某个地方有一个“结束”信号。它们可以是有限序列(.first(),.take()等),也可以通过以.takeWhile()或.takeUntil()结尾来关闭它们。 订阅不关心您是离开作用域,删除引用的对象,还是离开。你需要确保他们被取消订阅。 |
![]() |
2
0
只要订阅/Observable打开并运行,即使您的父元素不再可用,变量仍将在内存中。从而导致内存泄漏。 黄金法则:你应该总是退订可观察的。 此规则存在某些例外/边缘情况,例如HTTP请求在完成后自动取消订阅,因此理论上不需要取消订阅。 编辑:我找到了一篇更深入地解释它的文章 Angular/RxJs When should I unsubscribe from `Subscription` |
![]() |
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 7 月前 |
![]() |
Alex · 在轻量级中同时解构和不解构变量 8 月前 |
![]() |
Ângelo Rigo · ReactJS映射:如何迭代[关闭] 8 月前 |
![]() |
bairog · 从按属性筛选的对象数组字典中创建值数组 8 月前 |
![]() |
lokiuucx · JS对象属性返回未定义,尽管对象属性应该有值 8 月前 |