[鸿蒙] 开发- - -Emitter通信

在鸿蒙系统中,Emitter 就像是一个“广播站”,用于应用内的不同部分之间互相传递消息。它的工作方式可以用“广播”和“收听”来理解。

1. Emitter 是干什么的?

想象一下,有一个人负责发送广播(发布消息),而其他人则收听广播(接收消息)。鸿蒙里的 Emitter 就是这个发送和接收消息的工具。

  • 广播(发布消息):当某个事件发生时,比如用户点击了按钮,应用的某个部分可以通过 Emitter 广播一个消息,告诉大家“这个事情发生了”。
  • 收听(订阅消息):其他部分的组件会提前“收听”这些广播,并且在收到消息时执行相应的动作。

这种方式让应用中的不同部分可以不直接联系,但通过广播消息来合作完成任务。

2. Emitter 是怎么工作的?

Emitter 主要有两个动作:

  • 收听(订阅):应用中的某个部分告诉 Emitter,如果某个事件发生了(比如消息发送了),就告诉它。
  • 广播(发布):当事情发生时,应用的某个部分通过 Emitter 发出广播,这时所有“收听”这个消息的人都会得到通知,并根据需要做出反应。

3. 简单例子

假设你有一个应用,其中有一个“发送消息”的按钮,点击这个按钮时,你希望应用中的其他部分能知道并做一些事情。Emitter 可以让你轻松实现这种通信。

// 创建一个 Emitter 实例
const emitter = new Emitter();

// 订阅一个事件,告诉系统一旦消息事件发生,执行这个函数
emitter.on('messageEvent', (message) => {
    console.log('收到了消息:', message);
});

// 当用户点击按钮时,发布事件,通知其他部分
emitter.emit('messageEvent', 'Hello,鸿蒙!');

4. Emitter 的好处

  • 不需要直接联系:发布消息和接收消息的部分互不依赖。比如,你不需要知道谁会收到消息,反过来,接收者也不需要知道是谁发布了消息。
  • 灵活性强:多个部分可以同时收听同一个广播,也可以有多个不同的事件,互不干扰。
  • 适合复杂场景:在一个复杂的应用中,多个组件可能需要彼此通信,而 Emitter 可以让这些通信更简单、更灵活。

5. 应用场景

比如:

  • 页面之间的通知:当用户完成某个操作,比如在表单里提交数据,其他页面可以收到通知并做出相应的改变。
  • 后台任务完成后通知前台:比如文件下载完成后,后台可以通过 Emitter 通知前台显示“下载完成”的提示。

总结

简单来说,鸿蒙系统中的 Emitter 就像一个广播站,帮助应用的不同部分互相传递消息。一个部分发布消息,另一个部分收听消息,整个过程非常灵活、简单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值