热与冷可观测量

Ani*_*Das 8 rxjs angular angular-httpclient

在RxJS中,热观测值是使用外部生产者的可观测量,但冷观测值使用当地生产者(参见例如Ben Lesh的RxJS Hot vs Cold Observable).

Angular HttpClient.post使用冷可观察量来发送数据并在您拨打电话时重复.

在Angular中是否有任何方法可以知道特定方法是使用热观察还是冷观察?

Pac*_*ace 7

不是.文档是最安全的选择.另外,我不同意@ martin的评论,这绝对重要.您需要小心冷观察,以避免重新订阅和重新发布昂贵的操作(例如,通过使用多播或将结果保存到主题).

您还必须依赖文档来了解可观察的完成时间/方式.例如,您不必担心取消订阅,HttpClient.post因为您知道它将完成ActivatedRoute.params永远无法完成的地方,因此如果您不使用类似的内容takeUntil或跟踪订阅,您可能会产生内存泄漏.

*编辑:实际上,要澄清,你需要小心所有的观察,而不仅仅是冷观察.Hot Observables也会产生昂贵的工作负载.

  • 当组件被销毁时,ActivatedRoute observables*do*完成,因此您不必手动取消订阅.https://angular.io/guide/router#observable-parammap-and-component-reuse (3认同)