您的位置:首页 > 健康 > 养生 > 叮当app制作平台下载_北京短视频制作公司_站长工具whois查询_app如何推广

叮当app制作平台下载_北京短视频制作公司_站长工具whois查询_app如何推广

2024/10/11 2:00:15 来源:https://blog.csdn.net/qq_53270554/article/details/142728740  浏览:    关键词:叮当app制作平台下载_北京短视频制作公司_站长工具whois查询_app如何推广
叮当app制作平台下载_北京短视频制作公司_站长工具whois查询_app如何推广

前言

事件中心提供了一种灵活且可扩展的方式来管理事件和处理函数之间的关系,同时保持它们之间的解耦,可以降低系统耦合度,将视图和逻辑拆分出来,还是那句话,如果一个中间件解决不了问题,那就再加一个


废话不多说,直接贴代码

type EventHandler = (...args: any[]) => void;class EventCenter {private listeners: Map<string, EventHandler> = new Map();$on(event: string, callback: EventHandler) {if (this.listeners.has(event)) {console.error(`事件异常注册:事件 "${event}" 已存在,如需重新注册请调用 $delete(${event}) 移除事件`);return ;}this.listeners.set(event, callback);}$delete(event: string) {this.listeners.delete(event);}$emit(event: string, ...args: any[]) {const callback = this.listeners.get(event);if (callback) {callback(...args);}}
}export const eventCenter = new EventCenter();

注册事件

eventCenter.$on(event: string, callback: EventHandler) 

订阅事件

eventCenter.$emit(event: string, ...args: any[])

移除事件

eventCenter.$delete(event: string)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com