harmony 鸿蒙使用Emitter进行线程间通信

  • 2022-12-13
  • 浏览 (1096)

使用Emitter进行线程间通信

Emitter主要提供线程间发送和处理事件的能力,包括对持续订阅事件或单次订阅事件的处理、取消订阅事件、发送事件到事件队列等。

Emitter的开发步骤如下:

  1. 订阅事件
   import emitter from "@ohos.events.emitter";

   // 定义一个eventId为1的事件
   let event: emitter.InnerEvent = {
     eventId: 1
   };

   // 收到eventId为1的事件后执行该回调
   let callback = (eventData: emitter.EventData) => {
     console.info('event callback');
   };

   // 订阅eventId为1的事件
   emitter.on(event, callback);
  1. 发送事件
   import emitter from "@ohos.events.emitter";
   
   // 定义一个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);

你可能感兴趣的鸿蒙文章

harmony 鸿蒙应用模型

harmony 鸿蒙使用显式Want启动应用组件

harmony 鸿蒙使用隐式Want打开网址

harmony 鸿蒙AbilityStage组件容器

harmony 鸿蒙访问DataAbility

harmony 鸿蒙FA模型访问Stage模型DataShareExtensionAbility

harmony 鸿蒙AccessibilityExtensionAbility

harmony 鸿蒙常见action与entities

harmony 鸿蒙API切换概述

harmony 鸿蒙app和deviceConfig的切换

0  赞