本文主要讲解鸿蒙(HarmonyOS)中的EventBus,实现EventBus主要基于鸿蒙系统事件机制的一部分“Emitter ”。Emitter 是事件驱动编程模型中的一个核心概念,主要用于组件间通信或跨设备事件传递。在很多复杂的场景中,我们都有机会使用EventBus去通信,它可以实现组件之间的非直接通信,允许不同的组件在不了解彼此具体实现的情况下进行事件的发送和接收。它可以用于实现组件之间的解耦,比如在一个复杂的应用中,不同页面或模块之间可以通过EventBus来传递状态变化、通知等信息。
本文侧重对该技巧的使用,接下来我们围绕多个方面对Emitter进行一个简单的了解:
一、基本概念
-
Emitter(发射器) 是鸿蒙系统事件机制的一部分,通常与 Listener(监听器) 配合使用,形成发布-订阅模式。
-
它允许组件(或设备)通过事件(Event)进行解耦通信:一个组件触发事件(Emitter),其他订阅该事件的组件(Listener)会接收并处理。
二、在鸿蒙中的具体作用
-
跨组件通信:例如,UI组件(按钮)触发点击事件,逻辑层通过监听Emitter做出响应。
-
分布式事件传递:在鸿蒙的分布式架构中,Emitter可将事件跨设备传递(如手机触发事件,电视接收并响应)。
-
异步任务处理:结合事件队列,实现非阻塞的任务调度。
三、创建工具
1、我们首先应该在工具类文件