导出事件总线即导出含on、emit、off方法的单例对象或类实例,推荐默认导出可复用实例,并可命名导出clearall等辅助函数,需避免副作用、全局挂载及内存泄漏。

JavaScript 中导出事件总线(Event Bus)或消息分发器,本质是导出一个具备 on、emit、off 等方法的对象或类。关键在于:它得是模块内定义的、可复用的实例或构造器,并通过 export 显式暴露出去,供其他模块订阅和触发事件。
导出单例事件总线(推荐初学者)
适合轻量项目,全局共享一个事件中心。直接创建并导出实例:
- 定义一个对象,封装事件监听与派发逻辑
- 使用
export default导出该实例,方便统一入口、避免重复初始化
示例(eventBus.js):
export default {
on(event, callback) {
if (!events.has(event)) events.set(event, []);
events.get(event).push(callback);
},
emit(event, ...args) {
const callbacks = events.get(event) || [];
callbacks.forEach(cb => cb(...args));
},
off(event, callback) {
if (!events.has(event)) return;
const list = events.get(event);
const index = list.indexOf(callback);
if (index > -1) list.splice(index, 1);
}
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...










