几种实用的JavaScript鼠标特效,在我们平时网页设计中,鼠标特效可以说是常常会用到,那么今天我们来讲讲通过JS代码实现一些实用的鼠标特效,希望对大家有用。......
2023-03-17 527 JAVASCRIPT 鼠标
当订阅 Observable 对象或设置事件监听时,在某个时间点,需要执行取消订阅操作,进而释放操作系统的内存。否则,应用程序可能会出现内存泄露。
看一下,需要在 ngOnDestroy 生命周期钩子中,手动执行取消订阅操作的一些常见场景。
手动释放资源场景
表单
以上方案也适用于其它的表单控件。
路由
Infinite Observables
使用 interval() 或 fromEvent() 操作符时,创建的是一个无限的 Observable 对象。这样的话,不再需要使用它们的时候,就需要取消订阅,手动释放资源。
无需手动释放资源场景
AsyncPipe
需要注意的是,如果使用 @HostListener 装饰器,添加事件监听时,无法手动取消订阅。如果需要手动移除事件监听的话,可以使用以下的方式:
Finite Observable
使用 HTTP 服务或 timer Observable 对象时,也不需要手动执行取消订阅操作。
操作符作用
timer 返回一个发出无限自增数列的 Observable,具有一定的时间间隔,这个间隔由你来选择。
操作符示例
最终建议
应该尽可能少的调用 unsubscribe() 方法,可以在RxJS: Don't Unsubscribe这篇文章中了解与 Subject 相关更多信息。
具体示例如下:
takeUntil 操作符
操作符签名
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
标签: 编程语言JAVASCRIPT
相关文章
几种实用的JavaScript鼠标特效,在我们平时网页设计中,鼠标特效可以说是常常会用到,那么今天我们来讲讲通过JS代码实现一些实用的鼠标特效,希望对大家有用。......
2023-03-17 527 JAVASCRIPT 鼠标
如何开始学习javascript,html是网页的内容,c是网页的格式,h是网站的后台,j是网站的前端,那么如何学习j,才能高效?......
2023-03-17 255 JAVASCRIPT