HarmonyOS emitter关闭问题

有多级页面,分别监听了emitter,最里面的页面按照文档aboutToDisappear时调用了emitter.off(),但是最外层的emitter也被关闭了,接收不到信息了。如何处理?

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

可以使用传入callback形式取消订阅,需要注意:on中增加的callback和off中的callback需要是同一个,否则会把所有的订阅都取消。参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-emitter-V5#emitteroff10

是必须要取消,如果不取消会有内存泄漏的风险,JS层的对象可能释放不了,下次页业务再走订阅流程,可能又会有一个对象订阅相同eventid,回调时出现多个回调调用,所以业务不订阅了,需要主动off取消订阅。

分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 事件订阅 emitter问题
554浏览 • 1回复 待解决
HarmonyOS emitter 线程切换问题
402浏览 • 1回复 待解决
HarmonyOS emitter传输数据问题
87浏览 • 1回复 待解决
HarmonyOS 页面栈关闭问题
384浏览 • 1回复 待解决
HarmonyOS emitter注销方式
31浏览 • 1回复 待解决
HarmonyOS emitter.on相关咨询
24浏览 • 1回复 待解决
ets开发关闭窗口组件问题
3303浏览 • 1回复 待解决
HarmonyOS 二级页面左滑关闭问题
257浏览 • 1回复 待解决
HarmonyOS 如何先关闭键盘 再关闭弹窗
434浏览 • 1回复 待解决
httpclient三方库代理请求关闭问题
1147浏览 • 1回复 待解决
通过emitter实现worker间线程通讯
990浏览 • 1回复 待解决
关于emitter、eventHub的使用场景
2643浏览 • 1回复 待解决
订阅emitter分享,谁有更好的办法?
739浏览 • 1回复 待解决
Emitter如何声明回调函数类型
1799浏览 • 1回复 待解决
Emitter与EventHub的区别是什么?
524浏览 • 1回复 待解决
page页面关闭关闭指定页面么?
526浏览 • 1回复 待解决
HarmonyOS 如何关闭分屏模式
76浏览 • 1回复 待解决