EventBus是什么?
-
event值得是事件 bus 指的是公共汽车
用公共汽车的固定的站点, 处理上下车的事件, 来比做订阅与事件的分发
-
在编程中的eventbus通常是用来, 一发布 订阅的方式来传递数据的.
预先订阅事件, 当事件触发时可以接收大事件相关的数据
-
如何实现
需要用到的基础知识
原型对象与原型链, 回调函数
基础实现思路:
-
准备一个类或构造函数, 用来存放, 事件和订阅者信息
-
在该类/构造函数的原型上添加发布和订阅的方法
-
发布的方法需要传入, 要发布的事件名称, 事件的数据作为参数
-
订阅方法需要传入, 订阅的事件名称, 事件的处理函数(回调函数)
-
-
主要流程, 通过构造函数的实例, 调用其原型链上的 订阅方法, 传入订阅的事件和方法, 存储区该实例对应属性中(这里用Map)--消息发布者, 通过传入的事件名称, 在实例的数据中取出订阅这先前传入的订阅函数, 并调用, 同时将发布的信息内容, 传入即可
实现方法: 这里我们用构造函数的语法糖 class
class _EventBus { constructor() { //当实例化_EventBus时, 构造函数内的实例属性 this._events = new Map() //这里使用 map 的 k-v分别储存 事件名-对应的订阅者信息 //constructor中都有 prototype属性, 该
-