首页 > 软件开发 > 编程语言 >

Angular取消订阅

来源:互联网 2023-03-17 00:18:19 版权归原作者所有,如有侵权,请联系我们

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

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

工具/原料

  • JavaScript

方法/步骤

  • 1

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

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

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

  • 2

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

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

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

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

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

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

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

  • 4

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

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

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

  • 5

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

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

  • 6

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

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

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

  • 7

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

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

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

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

  • 8

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

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

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

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

  • 9

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

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

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

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


    标签: 编程语言JAVASCRIPT

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