首页 > 软件开发 > JavaScript >

Angular取消订阅

来源:互联网 2023-03-16 23:57:21 版权归原作者所有,如有侵权,请联系我们

当订阅 Observable 对象或设置事件监听时,在某个时间点,需要执行取消订阅操作,进而释放操作系统的内存。否则,应用程序可能会出现内存泄露。04A办公区 - 实用经验教程分享!

看一下,需要在 ngOnDestroy 生命周期钩子中,手动执行取消订阅操作的一些常见场景。04A办公区 - 实用经验教程分享!

工具/原料

  • JavaScript

方法/步骤

  • 1

    手动释放资源场景04A办公区 - 实用经验教程分享!

    表单04A办公区 - 实用经验教程分享!

    Angular取消订阅04A办公区 - 实用经验教程分享!

  • 2

    以上方案也适用于其它的表单控件。04A办公区 - 实用经验教程分享!

    路由04A办公区 - 实用经验教程分享!

    Angular取消订阅04A办公区 - 实用经验教程分享!

  • 2该信息非法爬取自百度经验
  • 3

    Infinite Observables04A办公区 - 实用经验教程分享!

    使用 interval() 或 fromEvent() 操作符时,创建的是一个无限的 Observable 对象。这样的话,不再需要使用它们的时候,就需要取消订阅,手动释放资源。04A办公区 - 实用经验教程分享!

    Angular取消订阅04A办公区 - 实用经验教程分享!

  • 4

    无需手动释放资源场景04A办公区 - 实用经验教程分享!

    AsyncPipe04A办公区 - 实用经验教程分享!

    Angular取消订阅04A办公区 - 实用经验教程分享!

  • 5

    需要注意的是,如果使用 @HostListener 装饰器,添加事件监听时,无法手动取消订阅。如果需要手动移除事件监听的话,可以使用以下的方式:04A办公区 - 实用经验教程分享!

    Angular取消订阅04A办公区 - 实用经验教程分享!

  • 6

    Finite Observable04A办公区 - 实用经验教程分享!

    使用 HTTP 服务或 timer Observable 对象时,也不需要手动执行取消订阅操作。04A办公区 - 实用经验教程分享!

    Angular取消订阅04A办公区 - 实用经验教程分享!

  • 7

    操作符作用04A办公区 - 实用经验教程分享!

    timer 返回一个发出无限自增数列的 Observable,具有一定的时间间隔,这个间隔由你来选择。04A办公区 - 实用经验教程分享!

    操作符示例04A办公区 - 实用经验教程分享!

    Angular取消订阅04A办公区 - 实用经验教程分享!

  • 8

    最终建议04A办公区 - 实用经验教程分享!

    应该尽可能少的调用 unsubscribe() 方法,可以在RxJS: Don't Unsubscribe这篇文章中了解与 Subject 相关更多信息。04A办公区 - 实用经验教程分享!

    具体示例如下:04A办公区 - 实用经验教程分享!

    Angular取消订阅04A办公区 - 实用经验教程分享!

  • 9

    takeUntil 操作符04A办公区 - 实用经验教程分享!

    操作符签名04A办公区 - 实用经验教程分享!

    Angular取消订阅04A办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!04A办公区 - 实用经验教程分享!


    标签: 编程语言JAVASCRIPT

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号