我有一个在浏览器中运行的纯 JavaScript 应用程序。它有一些主题,有一些订阅者。我是否需要确保在浏览器关闭之前完成所有订阅?或者关闭或移动到另一个页面会进行清理并确保没有内存泄漏吗?我似乎找不到“是”或“否”的答案,也找不到与 Angular 无关的答案。
我有一个在浏览器中运行的纯 JavaScript 应用程序。它有一些主题,有一些订阅者。我是否需要确保在浏览器关闭之前完成所有订阅?或者关闭或移动到另一个页面会进行清理并确保没有内存泄漏吗?我似乎找不到“是”或“否”的答案,也找不到与 Angular 无关的答案。
浏览器关闭 -> 不是问题,所有内存都已清除,您无需担心
最佳做法是确保所有订阅者都取消订阅。
为了处理这个问题,我们可以取消订阅。我会推荐
takeUntilDestroyed
管道操作符,当组件/服务/指令被破坏时它会自动取消订阅!当然还有其他方法,但这就是问题的要旨。