位置: 编程技术 - 正文

浅谈Angular 中何时取消订阅(angular1)

编辑:rootadmin

推荐整理分享浅谈Angular 中何时取消订阅(angular1),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:angular nz,angular deviation,angular then,angular1,angular nz,angular then,angular1,angular then,内容如对您有帮助,希望把文章链接给更多的朋友!

你可能知道当你订阅 Observable 对象或设置事件监听时,在某个时间点,你需要执行取消订阅操作,进而释放操作系统的内存。否则,你的应用程序可能会出现内存泄露。

接下来让我们看一下,需要在 ngOnDestroy 生命周期钩子中,手动执行取消订阅操作的一些常见场景。

手动释放资源场景

表单

以上方案也适用于其它的表单控件。

路由

Renderer 服务

Infinite Observables

当你使用 interval() 或 fromEvent() 操作符时,你创建的是一个无限的 Observable 对象。这样的话,当我们不再需要使用它们的时候,就需要取消订阅,手动释放资源。

Redux Store

无需手动释放资源场景

AsyncPipe

当组件销毁时,async 管道会自动执行取消订阅操作,进而避免内存泄露的风险。

Angular AsyncPipe 源码片段

浅谈Angular 中何时取消订阅(angular1)

@HostListener

需要注意的是,如果使用 @HostListener 装饰器,添加事件监听时,我们无法手动取消订阅。如果需要手动移除事件监听的话,可以使用以下的方式:

Finite Observable

当你使用 HTTP 服务或 timer Observable 对象时,你也不需要手动执行取消订阅操作。

timer 操作符

操作符签名

操作符作用

timer 返回一个发出无限自增数列的 Observable,具有一定的时间间隔,这个间隔由你来选择。

操作符示例

最终建议

你应该尽可能少的调用 unsubscribe() 方法,你可以在RxJS: Don't Unsubscribe 这篇文章中了解与 Subject 相关更多信息。

具体示例如下:

takeUntil 操作符

操作符签名

操作符作用

发出源 Observable 发出的值,直到 notifier Observable 发出值。

操作符示例

标签: angular1

本文链接地址:https://www.jiuchutong.com/biancheng/377421.html 转载请保留说明!

上一篇:深入理解Angular4订阅(Subscribe)与取消(深入理解计算机系统)

下一篇:vue.js模仿京东省市区三级联动的选择组件实例代码(京东试用js脚本)

  • 小规模升级为一般人后之前取得的增值税专用发票抵扣
  • 国家税收与地方税收
  • 个税里的累计专票是什么
  • 发票上是17%的税率吗
  • 工商登记执照号码怎么查询
  • 个体工商户五级税率
  • 事业单位缴纳税款比例
  • 记账凭证是不是会计凭证
  • 商业保理公司票据贴现账务处理
  • 委托加工设备
  • 自营方式建造固定资产增值税
  • 内部交易增值税怎么算
  • 应收账款转销怎么记账
  • 跨县提供建筑服务增值税申报
  • 增值税罚款怎么做凭证
  • 核定应纳税额的具体程序和方法
  • 劳务所得个税税率表
  • 公司给职工买工伤险流程
  • 会计报表申报期限怎么填
  • 收到股改代扣代缴税款
  • 随机赠送是啥意思
  • 附有退货条款的销售
  • 发票盖章有讲究吗
  • 申请专用发票怎么申请
  • 建筑公司预收账款一般是哪些
  • lean in桑德伯格
  • 经营租出的设备要计提折旧吗
  • pc端微信扫码支付
  • 补充养老保险和养老保险的区别
  • 非营利组织增值税
  • 浅谈一下新冠的好处
  • js生成条形码的方式有哪些
  • 自动驾驶讲解
  • 异常处理流程为哪几个部分
  • HTTP Tunneling (HTTP Proxy Socket Client)
  • 租金收入怎么做分录
  • 可以抵扣的进项发票有哪些
  • 商家下单
  • 本年利润的会计分录
  • 损益类科目的账务处理
  • 捐赠纳税调整额怎么算
  • 资本化期间专门借款利息费用需将
  • 企业计提任意盈余公积的比例
  • 坏账准备的账务处理怎么理解
  • 长期待摊费用如何做分录
  • 在企业中的应用
  • 固定资产收到专票怎么做账
  • 员工社保,个税怎么计算
  • 物业管理企业应设置代管基金和代收款项账户
  • win8.1 0x80072efe
  • Windows 2000中NTFS磁盘权限应用
  • ubuntu20.04.1安装
  • macos越狱教程
  • unix vi命令
  • winserver是什么意思
  • 神之浩劫能玩吗
  • mac打印预览快捷键是什么
  • window7发布
  • win7系统的一键还原怎么关闭
  • xp系统如何取消开机自动启动程序
  • 忘记centos密码
  • windows7看视频黑屏
  • win10预览版绿屏重启解决
  • opengl 编程
  • ExtJS4 组件化编程,动态加载,面向对象,Direct
  • 图片加密后怎么找不到
  • unity图集
  • js跨域请求的三种方法
  • [置顶]星陨计划
  • listview添加按钮
  • Python线程进程协程
  • 农村医保网上如何查询
  • 工商跟税务的区别
  • 北京社保退保手续办理
  • 狠抓组织收入工作
  • 国税发票查询能查出什么项目
  • 分红太多
  • 北京税务局网站官网
  • 天津车辆购置税网上办税
  • 国家税务局查询发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设