位置: 编程技术 - 正文

浅谈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脚本)

  • 固定资产的折余价值计算公式
  • 分摊房屋租赁费计入什么科目
  • 应付福利费直接计入未分配利润
  • 城建税和教育费附加可以税前扣除吗
  • 国外出差差旅费
  • 物业企业门禁卡如何记账?
  • 怎么填报清算所得税申报表?
  • 2016年营改增后18个税种,第一大税种是()
  • 公司向股东借款计入什么科目
  • 一次性医保补助多少钱
  • 公司股权转移怎么办理
  • 农村合作社开具的专用发票免税吗
  • 经营租赁固定资产折旧计入什么科目
  • 开票资料地址填营业执照
  • 向职工出售住房
  • 劳务外包与劳务派遣公司
  • 政府补贴冲减资产原值
  • 认证费用计入什么账户
  • 经营方式变更说明
  • 在win7系统中怎样为另外一块硬盘安装系统
  • 电脑找不到休眠设置了
  • 股东投入的资金可以退回吗
  • 什么是票据权利?票据权利的内容有哪些
  • 在win7系统中,怎么把D盘里的文件移到C盘里?
  • 苹果电脑设置壁纸为什么重启就没了
  • 电脑右下角总是弹出广告
  • 股东向公司借款协议书范本
  • 马格达拉之战
  • 履约保证金和质保金可以一起收取吗
  • 实习生究竟该怎么缴个税?
  • javascript语言基础
  • 企业新增股东投标流程
  • 购买股票的佣金计入
  • 经营性存款人违反规定
  • less中使用js变量
  • read命令功能
  • 成本分配明细表
  • 先开发票还是先收钱
  • 土地出让金抵减增值税账务处理
  • 小微企业材料
  • 金蝶专业版如何打印凭证
  • mysql基础知识点
  • 购进运输服务取得的成果
  • 房产税的纳税人包括
  • 行政单位应缴预算款原则上按月缴清
  • 完工产品制造成本表
  • 递延所得税资产怎么计算
  • 用工资冲借款报税可以吗
  • 破产重组还需要还钱吗
  • 餐饮怎么扣税
  • 年化利率是什么意思
  • mysql修改版本号
  • sql实现分页查询语句
  • win8.1 开机进桌面
  • ubuntu for lot
  • ubuntu下的代码编辑器
  • linux系统中cp命令
  • webcamrt.exe - webcamrt 进程是什么意思
  • mac 钥匙串访问
  • mac系统怎么把文件移到文件夹
  • WIN10安装介质不识别硬盘
  • win8磁盘分区
  • 旅游软件页面
  • css spirit
  • es6中的class常见使用场景
  • exception继承
  • Cocos2d唯一死敌的崛起,OGEngine来了
  • c盘权限恢复默认设置
  • 表单jsp
  • isscroll.js
  • jquery的实现原理
  • javascript基于什么的语言
  • jquery做下拉
  • 工会的会费收入是什么意思
  • 商铺土地增值税预缴税率是多少
  • 固定资产转让要交企业所得税吗
  • 内蒙古自治区耕地保养条例
  • 技术服务收入确认方法
  • 印花税会计分录怎么做 印花税需要计提吗
  • 安徽省国税局局长是谁
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设