EventHub、Emitter、commonEventManager 三种事件能力区别与选择
EventHub、Emitter、commonEventManager 三种事件能力区别与选择
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
candidate 会在哪三种情况下退出?
2333浏览 • 1回复 待解决
视频进度滑动条的三种实现方式
338浏览 • 1回复 待解决
请问Page Ability,Service Ability,Data Ability这三种Ability的区别和应用场景是什么?
9061浏览 • 2回复 待解决
树莓派可以安装deb rpm bin三种格式吗?
1159浏览 • 1回复 待解决
关于emitter、eventHub的使用场景
810浏览 • 1回复 待解决
PolarDB 支持结构迁移、全量数据迁移和增量数据迁移,这三种迁移类型有什么好处?
1783浏览 • 1回复 待解决
Localstorage与AppStorage区别
645浏览 • 1回复 待解决
OpenHarmony3.1release Emitter 无法在service中发送事件
4285浏览 • 1回复 待解决
事件系统eventHub,在组件中使用 eventHub.on 订阅的方法,不能访问组件的变量
478浏览 • 1回复 待解决
为了满足不同场景下对一致性级别的要求,PolarDB 提供了哪三种一致性级别?
1777浏览 • 1回复 待解决
TaskPool与Worker的区别
583浏览 • 1回复 待解决
三种类型分别推荐哪些的使用场景?
877浏览 • 1回复 待解决
如何选择Navigation 组件与 Tabs 组件
694浏览 • 1回复 待解决
navigation中pushPathByName与pushDestinationByName的区别
409浏览 • 1回复 待解决
元服务与服务卡片的区别
1132浏览 • 1回复 待解决
Oceanbase与DRDS的关系与使用场景的区别?
2735浏览 • 1回复 待解决
emitter.off取消订阅某个事件后,是不是所有订阅该事件的地方都不会再收到该事件的消息
530浏览 • 1回复 待解决
console.log和hilog的区别,如何选择使用
639浏览 • 1回复 待解决
鸿蒙与Android、iOS有什么区别?
10794浏览 • 5回复 已解决
FA模型与Stage模型在设计哲学上的区分是什么?FA模型的应用组件分类与经典三层(MVC?)的区别
687浏览 • 1回复 待解决
request的downloadFile与Task有什么区别
446浏览 • 1回复 待解决
时序数据库InfluxDB与TSDB的区别
1624浏览 • 1回复 待解决
PolarDB 底层存储与传统模式有什么区别?
1427浏览 • 1回复 待解决
指定选择器的默认选中项时没有触发事件
5303浏览 • 2回复 待解决
UIAbility与UIExtensionAbility的使用场景上有什么区别
415浏览 • 1回复 待解决
背景与分析
HarmonyOS系统上主要提供了3种事件相关的模块,分别是EventHub、Emitter、commonEventManager。
它们3个模块使用上非常相识,都是订阅+发布的形式。但是实际应用场景有很大的不同。
EventHub
EventHub模块提供了事件中心,提供订阅、取消订阅、触发事件的能力。
特点:
Emitter
Emitter模块提供了在同一进程不同线程间,或同一进程同一线程内,发送和处理事件的能力,包括持续订阅事件、单次订阅事件、取消订阅事件,以及发送事件到事件队列的能力。
特点:
commonEventManager
CommonEvent模块提供了公共事件相关的能力,包括发布公共事件、订阅公共事件、以及退订公共事件。
特点:
如何选择
主线程内通信:EventHub
主线程与Worker间通信:Emitter
应用间通信:commonEventManager
获取系统公共事件信息(低电量、充电信息):commonEventManager