订阅emitter分享,谁有更好的办法?

订阅emitter分享

HarmonyOS
2024-06-11 20:10:35
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
hmogy

线程间实现事件实例:

点击新建或者编辑联系人的时候,点击左侧联系人实现弹窗效果。

过程如下:

1.点击左侧联系人的时候,在推栈之前调用监听方法,进行监听。

sendAccountSubscription(){ 
  let event: emitter.InnerEvent = { 
    eventId: this.emitterId 
  } 
  let eventData: emitter.EventData = { 
    data: { 
      'isAccountants': true 
    } 
  } 
  emitter.emit(event, eventData); 
  this.isSaveCon = -1; 
}

2. 在目标页面调用emitter.on方法监听到之后,执行回调方法。

getSubscription(){ 
  let innerEvent: emitter.InnerEvent = { 
    eventId: this.emitterId 
  }; 
  emitter.once(innerEvent, (eventData: emitter.EventData) => { 
    let isAccountants:boolean = eventData.data!['isAccountants']; 
    HiLog.i(TAG, 'int isAccountants' + JSON.stringify(isAccountants)); 
    if (isAccountants) { 
      this.destinationBackPress(); 
    } 
  }); 
}

3. 回调方法中调用弹框页面,监听结束。

最后调用off方法销毁订阅

分享
微博
QQ
微信
回复
2024-06-12 16:34:53
相关问题
谁有办法关闭电池使用时间
4641浏览 • 1回复 待解决
鸿蒙小车出厂固件谁有
5013浏览 • 1回复 待解决
关于emitter、eventHub使用场景
971浏览 • 1回复 待解决
本地收发消息实践,谁有方案?
256浏览 • 1回复 待解决
taskpool使用 ,谁有方案?
231浏览 • 1回复 待解决
这个iot板子镜像谁有
6953浏览 • 1回复 已解决
分享沙箱文件,应用可分享单个文件
485浏览 • 1回复 待解决
通过emitter实现worker间线程通讯
433浏览 • 1回复 待解决
转场动画,谁有方案吗?
185浏览 • 1回复 待解决
如何订阅系统环境变量变化
52浏览 • 1回复 待解决
Emitter如何声明回调函数类型
580浏览 • 1回复 待解决
求告知静态订阅相关方法
340浏览 • 1回复 待解决
鸿蒙如何实现分享功能
16235浏览 • 2回复 待解决
TS和JS哪个使用起来更好
976浏览 • 2回复 已解决
如何更好学习华为鸿蒙系统系统
8497浏览 • 1回复 待解决
更好减少低耦合?
1070浏览 • 1回复 待解决