HarmonyOS 鸿蒙Next:emitter进行线程间通信,可以发送数据,但接收不到
HarmonyOS 鸿蒙Next:emitter进行线程间通信,可以发送数据,但接收不到
console.log(‘发送购物车ids’,cartIds)
let event = {
eventId: 99,
priority: emitter.EventPriority.HIGH
}
let eventData = {
data: {
ids: cartIds
}
}
emitter.emit(event, eventData)
<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>
- 我在一个page里面发送了一个事件
let event = {
eventId: 99
}
let callback = ({data}) => {
console.log(<span class="hljs-string"><span class="hljs-string">'接收购物车ids'</span></span>,<span class="hljs-built_in"><span class="hljs-built_in">JSON</span></span>.stringify(data))
}
emitter.on(event, callback);
}
<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>
- 在另一个page里面订阅这个事件
- 但是可以发送数据,接收不到,这是什么原因?
# 版本
- SDK 3.1.0
关于HarmonyOS 鸿蒙Next:emitter进行线程间通信,可以发送数据,但接收不到的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。
10 回复
有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html
Api12中有以下变化
1、eventId是string类型,不可使用其他类型
2、回调函数中,回调的参数是eventData类型,我们获取到其中的data,其中的key也必须是string类型,值可以是任意类型,可以是基本数据类型,也可以是对象。
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17
对象里面成员变量 只要都能被序列化 ,传递对象是可以的
已解决,data里面不能传入一个对象,只能是 number、string、boolen这种基础数据类型
期待HarmonyOS能在未来推出更多针对特定场景的优化功能。
那如果想传对象怎怎么办呢
我这问题用的是API9,不知道API12是怎么样的,等我有时间了,再试试看
楼主啊 怎么解决的啊