HarmonyOS EmitterData在接收端如何解析?

发送的emitter代码如下:

let eventData: emitter.EventData = { 
  data: { 
    isHot: false, 
    NewsID: this.videoPlayerModel.videoData.NewsID 
  } 
}; 
emitter.emit(EventKeys.EVENT_CHANGE_HOT, eventData)

在接收端如何解析这个eventData呢?接收端代码:

let callback = (eventData: emitter.EventData): void => { 
  eventData.data 
  LogUtils.info('event callback:' + JSON.stringify(eventData)); 
}; 
emitter.on(EventKeys.EVENT_CHANGE_HOT,callback)

打印:event callback:{“data”:{“isHot”:false,“NewsID”:102097848}},请问下最简单的解析方法是什么?

HarmonyOS
2024-09-06 11:25:45
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

可参考emitter的开发步骤https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/itc-with-emitter-V5

如下demo获取到eventdata中的数据。

import emitter from '@ohos.events.emitter' 
 
function registerEvent() { // 定义一个eventId为1的事件  
  let event: emitter.InnerEvent = { eventId: 1 }; // 收到eventId为1的事件后执行该回调  
  let callback = (eventData: emitter.EventData) => { 
  let content: emitter.EventData = eventData["content"] 
  let id: emitter.EventData = eventData["id"] 
  let isEmpty: emitter.EventData = eventData["isEmpty"] 
  console.info('event callback content=' + content); 
  }; // 订阅eventId为1的事件  
  emitter.on(event, callback); 
} 
function sendEvent() { // 定义一个eventId为1的事件,事件优先级为 
Low let event: emitter.InnerEvent = { eventId: 1, priority: emitter.EventPriority.LOW };  
let data = new Map<string, Object>();  
data.set("content", "c");  
data.set("id", 1);  
data.set("isEmpty", false);  
let eventData: emitter.EventData = { data }; // 发送eventId为1的事件,事件内容为eventData emitter.emit(event, eventData); } @Entry  
@Component  
struct Index  
{  
@State message: string = 'Hello World' build() {  
Row() {  
Column() {  
Text("发送")  
.fontSize(50)  
.fontWeight(FontWeight.Bold)  
.onClick(()=> { sendEvent(); })  
Text("注册")  
.fontSize(50)  
.fontWeight(FontWeight.Bold)  
.onClick(()=> { registerEvent(); }) } 
.width('100%') 
} 
.height('100%') 
} 
}
分享
微博
QQ
微信
回复
2024-09-06 15:16:43
相关问题
HarmonyOS 如何解析证书文件
432浏览 • 1回复 待解决
HarmonyOS 如何解析HTML文本
587浏览 • 1回复 待解决
HarmonyOS 如何解析json字符串?
537浏览 • 1回复 待解决
如何解析JSON字符串?
1263浏览 • 1回复 待解决
鸿蒙JS开发HTTP请求如何解析
2739浏览 • 0回复 待解决
HarmonyOS 服务JSON字符串解析问题
565浏览 • 1回复 待解决
ts给c++传递数组,c++层如何解析
1920浏览 • 1回复 待解决
HarmonyOS 路由参数如何接收
414浏览 • 1回复 待解决