如何避免RxJs可观察对象的内存泄漏?

在大型Angular应用程序中,最容易陷入麻烦的方法是不取消订阅可观察对象会造成内存泄漏.虽然有不同的技术自动取消订阅可观察对象,一种方法更简洁、优雅,而且总体上是最防错的。

这个技巧就是使用异步从Angular框架。

为什么异步管这么厉害的工具?

  1. 首先,它自动订阅可观察对象,因此我们不再需要调用.subscribe ()
  2. 它返回来自该可观察对象的数据,在我们的组件需要显示最新数据时触发Angular的更改检测。
  3. 最后,当我们的组件被销毁时,它会自动从可观察对象中取消订阅。

所有这一切都只需要6个字符!(好吧,如果你想计算空白,可能会多一点):

             
             
<div>{{myObservable | async}}div>
代码语言:HTML、XMLxml

异步如果我们不使用Pipe,它的工作方式与我们编写的代码完全相同(因此会反复重复,使代码库更大,从而使代码更慢)。

检查它的源代码在这里,您将看到它所做的一切都是实现ngOnDestroy取消订阅我们的可观察对象。

没有任何好的理由不使用异步管道,如果您认为您有一些理由,请继续关注我们的下一条消息,因为我们将介绍一些关于使用该管道的很好的提示和技巧。

betway必威滚球

Alain是谷歌开发专家,擅长Web技术、Angular和谷歌地图。他的日常任务是帮助开发团队采用Angular,并使用该框架进行大规模构建。他在六大洲都教授过Angular !阿兰是一名世界旅行家和摄影师,也是国际会议的演讲者,并出版了几门视频课程。