Emitter主要提供线程间发送和处理事件的能力,包括对持续订阅事件或单次订阅事件的处理、取消订阅事件、发送事件到事件队列等。步骤 1订阅事件import { promptAction } from '@kit.ArkUI'; import { emitter } from '@kit.BasicServicesKit'; const TAG: string = 'ThreadModel'; // 定义一个eventId为1的事件 let event: emitter.InnerEvent = { eventId: 1 }; // 收到eventId为1的事件后执行该回调 let callback = (eventData: emitter.EventData): void => { promptAction.showToast({ message: JSON.stringify(eventData) }); }; // 订阅eventId为1的事件 emitter.on(event, callback); promptAction.showToast({ message: $r('app.string.emitter_subscribe_success_toast') });步骤 2发送事件import { emitter } from '@kit.BasicServicesKit'; // 定义一个eventId为1的事件,事件优先级为Low let event: emitter.InnerEvent = { eventId: 1, priority: emitter.EventPriority.LOW }; let eventData: emitter.EventData = { data: { content: 'c', id: 1, isEmpty: false } }; // 发送eventId为1的事件,事件内容为eventData emitter.emit(event, eventData);----结束EventHub提供了线程内发送和处理事件的能力,包括对事件订阅、取消订阅、触发事件等。以UIAbility组件与UI之间的数据同步为例,具体使用方法可以参考UIAbility组件与UI的数据同步。参考链接UIAbility组件与UI的数据同步
Emitter主要提供线程间发送和处理事件的能力,包括对持续订阅事件或单次订阅事件的处理、取消订阅事件、发送事件到事件队列等。
----结束
EventHub提供了线程内发送和处理事件的能力,包括对事件订阅、取消订阅、触发事件等。以UIAbility组件与UI之间的数据同步为例,具体使用方法可以参考UIAbility组件与UI的数据同步。
参考链接
UIAbility组件与UI的数据同步