Emitter
说明:本模块首批接口从API version 7开始支持。
导入模块
import emitter from '@ohos.events.emitter'
权限列表
无
开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。
EventPriority
用于表示事件被投递的优先级。
系统能力: 以下各项对应的系统能力均为 SystemCapability.Notification.Emitter
名称 | 值 | 说明 |
---|---|---|
IMMEDIATE | 0 | 表示事件被立即投递。 |
HIGH | 1 | 表示事件先于LOW优先级投递。 |
LOW | 2 | 表示事件优于IDLE优先级投递,事件的默认优先级是LOW。 |
IDLE | 3 | 表示在没有其他事件的情况下,才投递该事件。 |
emitter.on
on(event: [InnerEvent], callback: Callback<[EventData]>): void
持续订阅某个事件以及接收事件的回调处理。
系统能力: SystemCapability.Notification.Emitter
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
event | [InnerEvent] | 是 | 持续订阅的事件 |
callback | Callback<[EventData]> | 是 | 接收订阅事件时的回调处理 |
示例:
var innerEvent = {
eventId: 1
};
var callback = (eventData) => {
console.info('callback');
};
emitter.on(innerEvent, callback);
emitter.once
once(event: [InnerEvent], callback: Callback<[EventData]>): void
单次订阅某个事件以及接收事件的回调处理,接收到回调处理后自动取消订阅。
系统能力: SystemCapability.Notification.Emitter
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
event | [InnerEvent] | 是 | 单次订阅的事件 |
callback | Callback<[EventData]> | 是 | 接收订阅事件时的回调处理 |
示例:
var innerEvent = {
eventId: 1
};
var callback = (eventData) => {
console.info('once callback');
};
emitter.once(innerEvent, callback);
emitter.off
off(eventId: number): void
取消订阅某个事件。
系统能力: SystemCapability.Notification.Emitter
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
eventId | number | 是 | 事件ID |
示例:
emitter.off(1);
emitter.emit
emit(event: InnerEvent, data?: EventData): void
发送一个事件到事件队列。
系统能力: SystemCapability.Notification.Emitter
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
event | [InnerEvent] | 是 | 发送的事件 |
data | [EventData] | 否 | 事件携带的数据 |
示例:
var eventData = {
data: {
"content": "c",
"id": 1,
}};
var innerEvent = {
eventId: 1,
priority: emitter.EventPriority.HIGH
};
emitter.emit(innerEvent, eventData);
InnerEvent
进程内的事件。
系统能力: 以下各项对应的系统能力均为 SystemCapability.Notification.Emitter
名称 | 参数类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
eventId | number | 是 | 是 | 事件的ID,由开发者定义用来辨别事件。 |
priority | [EventPriority] | 是 | 是 | 事件被投递的优先级。 HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿 |
EventData
发送事件时传递的数据。
系统能力: 以下各项对应的系统能力均为 SystemCapability.Notification.Emitter
名称 | 参数类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
data | [key: string]: any | 是 | 是 | 发送事件时传递的数据,数据类型支持字符串、整型和布尔型。 |
鸿蒙开发岗位需要掌握那些核心要领?
目前还有很多小伙伴不知道要学习哪些鸿蒙技术?不知道重点掌握哪些?为了避免学习时频繁踩坑,最终浪费大量时间的。
自己学习时必须要有一份实用的鸿蒙(Harmony NEXT)资料非常有必要。 这里我推荐,根据鸿蒙开发官网梳理与华为内部人员的分享总结出的开发文档。内容包含了:【ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战】等技术知识点。
废话就不多说了,接下来好好看下这份资料。
如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。鸿蒙OpenHarmony知识←前往。下面是鸿蒙开发的学习路线图。
针对鸿蒙成长路线打造的鸿蒙学习文档。鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。
其中内容包含:
《鸿蒙开发基础》鸿蒙OpenHarmony知识←前往
- ArkTS语言
- 安装DevEco Studio
- 运用你的第一个ArkTS应用
- ArkUI声明式UI开发
- .……
《鸿蒙开发进阶》鸿蒙OpenHarmony知识←前往
- Stage模型入门
- 网络管理
- 数据管理
- 电话服务
- 分布式应用开发
- 通知与窗口管理
- 多媒体技术
- 安全技能
- 任务管理
- WebGL
- 国际化开发
- 应用测试
- DFX面向未来设计
- 鸿蒙系统移植和裁剪定制
- ……
《鸿蒙开发实战》鸿蒙OpenHarmony知识←前往
- ArkTS实践
- UIAbility应用
- 网络案例
- ……
最后
鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!