Angular 角度5:是否需要从主题取消订阅?

Angular 角度5:是否需要从主题取消订阅?,angular,rxjs,Angular,Rxjs,我在看一个主题用于在搜索中添加去盎司时间的位置 但是,代码不包含任何类型的取消订阅组件销毁。这里不需要退订吗?为什么?如果需要的话,正确的方式是什么 谢谢 在这种情况下,您不需要取消订阅,因为您实际上并没有直接订阅它-在组件中没有订阅调用。它只是将结果可观测传递给async管道,async管道自己进行所有清理 在这种情况下,您不需要取消订阅,因为您实际上并没有直接订阅它-在组件中没有订阅调用。它只是将结果可观测传递给async管道,async管道自己进行所有清理 假设订阅意味着您需要一些关于内存

我在看一个
主题
用于在搜索中添加去盎司时间的位置

但是,代码不包含任何类型的取消订阅组件销毁。这里不需要退订吗?为什么?如果需要的话,正确的方式是什么


谢谢

在这种情况下,您不需要取消订阅,因为您实际上并没有直接订阅它-在组件中没有订阅调用。它只是将结果可观测传递给async管道,async管道自己进行所有清理

在这种情况下,您不需要取消订阅,因为您实际上并没有直接订阅它-在组件中没有订阅调用。它只是将结果可观测传递给async管道,async管道自己进行所有清理

假设订阅意味着您需要一些关于内存(
指针
)的参考,它告诉angular您必须检查一系列事件。
这就是订阅所做的…
因此,当您完成流时,您将有一个指针指向无法使用的内容,因为您的组件已损坏,这称为
内存泄漏


在本例中,它只是将主题传递给异步管道。没有
订阅

想象订阅意味着您需要一些内存引用(
指针
),它告诉角度,您必须检查事件流。
这就是订阅所做的…
因此,当您完成流时,您将有一个指针指向无法使用的内容,因为您的组件已损坏,这称为
内存泄漏

在本例中,它只是将主题传递给异步管道。没有订阅,有(2)种可观察对象-有限值和无限值

http观察值产生有限(1)个值,类似DOM事件监听器的观察值产生无限个值

如果手动调用subscribe(不使用异步管道),则取消对无限多个观察对象的订阅

不要担心有限的,RxJs会处理它们的

请查看此答案以了解详细信息:

有(2)种可观测物——有限值和无限值

http观察值产生有限(1)个值,类似DOM事件监听器的观察值产生无限个值

如果手动调用subscribe(不使用异步管道),则取消对无限多个观察对象的订阅

不要担心有限的,RxJs会处理它们的

请查看此答案以了解详细信息:


当组件被销毁时,
async
管道自动取消订阅以避免*潜在内存泄漏。当组件被销毁时,
async
管道自动取消订阅以避免*潜在内存泄漏。Hm,即使在您提供的答案中,似乎也有多个相互对立的建议——最新的“官方”建议是手动取消订阅(他们提供了使用TakeTill和unSubscriptino主题的示例,这是一种方法)。但“原始”答案是你引用的。。。如此令人困惑……嗯,似乎即使在你提供的答案中也有多个相互对立的建议——最新的“官方”建议是手动取消订阅(他们提供了使用TakeTill和unSubscriptino主题的示例,这是一种方法)。但“原始”答案是你引用的。。。太令人困惑了。。。。