rxjs 的 Observable(可观察对象)极大的方便了我们的开发,但是当 subscribe(订阅) 没有多次时,前一个订阅没有取消,导致订阅方法被执行了多次。

  ngOnInit(): void {this.query.select().subscribe((data) => {console.log(data);});}

这种情况怎么办呢,可以手动取消订阅,但是有没有办法在 页面Destroy 后自动取消订阅呢?

使用 until-destroy

npm install @ngneat/until-destroy

使用方法:

import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';@UntilDestroy()
@Component({selector: 'app-welcome',templateUrl: './welcome.component.html',styles: [],
})
export class InboxComponent {ngOnInit(): void {this.query.select().pipe(untilDestroyed(this)).subscribe((data) => {console.log(data);});}
}

使用后当页面 destroy 时会生动取消订阅。

angular Observable 怎么自动取消订阅相关推荐

  1. Angular自动取消订阅RxJs

    Angular自动取消订阅RxJs 在使用 rxjs 时我们经常忘记调用unsubscribe()而导致内存泄露,很多时候你很难发现它,在RxJs官方有这样一段话: What is a Subscri ...

  2. Angular中优雅的处理RxJs自动取消订阅的方式以免出现内存泄露以及多次调用的问题

    Angular中深度集成了Rxjs,只要你使用Angular框架,你就不可避免的会接触到RxJs相关的知识. 在Android开发中,绝大多数的Android开发者都用过RxJava.RxAndroi ...

  3. java中的 dispose_RxJava2 中多种取消订阅 dispose 的方法梳理( 源码分析 )

    Github 相关代码: Github地址 一直感觉 RxJava2 的取消订阅有点混乱, 这样也能取消, 那样也能取消, 没能系统起来的感觉就像掉进了盘丝洞, 迷乱- 下面说说这几种情况 几种取消的 ...

  4. 苹果取消订阅_知乎盐选会员可以取消自动续费吗,如何操作?

    今天突然看到微信的扣费提醒,显示知乎盐选会员月卡,扣费19元.这才想起来上月开通了知乎的盐选会员.因为当时看到一个好看的书,需要开通盐选会员才可以,记得自己付费了一个月呀.PS:付费的时候下面有自动续 ...

  5. 如何在iPhone或iPad上检查和取消订阅自动续费

    现在大部分应用程序和服务会员都开通了订阅功能.一般情况下,自动续费会比购买月度.季度.年度会员要优惠很多,因此,很多用户在购买会员时选择订阅. 对于iPhone和iPad用户,经常是通过Apple I ...

  6. 如何关闭苹果手机自动扣费_苹果iPhone老是被自动扣费怎么办?iPhone取消订阅自动续费教程...

    最近,系统迷看到有部分小伙伴反应,自己的iPhone老是会莫名地被扣费.明明自己也没有在AppStore购买什么应用,但是每个月都能收到苹果的账单.这让人就非常难受了,难道这钱都飞了? 为了解决大家的 ...

  7. 面试官问:生成订单30分钟未支付,则自动取消,该怎么实现?

    欢迎关注方志朋的博客,回复"666"获面试宝典 来源 | https://blog.csdn.net/hjm4702192/article/details/80519010 在开发 ...

  8. 使用PHP+Redis实现延迟任务,实现自动取消订单功能

    简单定时任务解决方案:使用redis的keyspace notifications(键失效后通知事件) 需要注意此功能是在redis 2.8版本以后推出的,因此你服务器上的reids最少要是2.8版本 ...

  9. android订阅管理,RXJAVA取消订阅封装-kotlin-Android

    因为好几次自己想要在别的项目使用,每次都要重写一遍太麻烦,整理了一下发布到 jcenter . 利用官方lifecycle库与kotlin语言特性.lifecycle官方 support 27+ 自带 ...

最新文章

  1. closewait一直不释放_家里甲醛一直去不掉,原来是原理弄错了!跟邻居学来这一招搞定...
  2. Unable to start activity ComponentInfo
  3. python画笔初始位置_turtle绘画-移动落笔点(改变初始原点)
  4. JavaScript中数组使用总结
  5. tomcat的安装和部署项目
  6. C++读取txt中数据的两种方法
  7. ProE常用曲线方程:Python Matplotlib 版本代码(玫瑰曲线)
  8. .NET CORE 怎么样从控制台中读取输入流
  9. 领域驱动设计和实践(转:http://kb.cnblogs.com/page/112298/)
  10. JAVA中GridBagLayout布局管理器应用详解
  11. DAY3 scp,rsync,chmod,chown,setfacl
  12. Mugeda(木疙瘩)H5案例课—什么,才是福-岑远科-专题视频课程
  13. STM32F103C8T6系统板
  14. 如何删除github上的文件夹(抖机灵方法)
  15. 代码统计工具CLOC
  16. 〖Python APP 自动化测试实战篇⑩〗- app自动化总结与展望
  17. 关闭PyCharm的Run with Python Console模式
  18. 200行代码搞定一个购物网站+电影站+APP
  19. 群晖域名解析 DDNS ——阿里云 DNS 脚本
  20. 数据同步工具—DataX部署使用

热门文章

  1. 如何使用EXCEL表格绘制次坐标轴折线图
  2. 小红书引流效果不好?小红书账号自检16招分享给你?
  3. highest severity level wasERROR
  4. 标签打印软件如何批量生成数字防伪码
  5. 哔哩哔哩9.13测开
  6. 直播回顾 | smardaten CPO俞亚君做客华为云新生态直播间,畅聊无码时代
  7. 简述k-means算法基本原理,并针对如何自适应确定k值
  8. 作为程序员,你的业余时间都在做什么?
  9. 联想服务器做系统2018,联想小新潮7000 2018版(i5-8250U)如何用u盘装系统win10
  10. Ubuntu 12.04 设置外接显示器