订阅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
相关问题
谁有办法关闭电池使用时间
4520浏览 • 1回复 待解决
关于emitter、eventHub使用场景
811浏览 • 1回复 待解决
鸿蒙小车出厂固件谁有
4839浏览 • 1回复 待解决
通过emitter实现worker间线程通讯
390浏览 • 1回复 待解决
分享沙箱文件,应用可分享单个文件
457浏览 • 1回复 待解决
taskpool使用 ,谁有方案?
199浏览 • 1回复 待解决
这个iot板子镜像谁有
6823浏览 • 1回复 已解决
本地收发消息实践,谁有方案?
227浏览 • 1回复 待解决
转场动画,谁有方案吗?
139浏览 • 1回复 待解决
Emitter如何声明回调函数类型
468浏览 • 1回复 待解决
用户订阅系统公共事件
486浏览 • 1回复 待解决
鸿蒙如何实现分享功能
16099浏览 • 2回复 待解决
求告知静态订阅相关方法
300浏览 • 1回复 待解决
如何更好学习华为鸿蒙系统系统
8402浏览 • 1回复 待解决
TS和JS哪个使用起来更好
862浏览 • 2回复 已解决
DTS订阅对象可以同步几个表?
1303浏览 • 1回复 待解决
办法连接隐藏SSIDwifi吗
253浏览 • 1回复 待解决