24 lines
No EOL
568 B
JavaScript
24 lines
No EOL
568 B
JavaScript
// 事件管理器模块
|
|
const eventManager = {
|
|
listeners: {},
|
|
on(event, callback) {
|
|
if (!this.listeners[event]) {
|
|
this.listeners[event] = [];
|
|
}
|
|
this.listeners[event].push(callback);
|
|
},
|
|
off(event, callback) {
|
|
const callbacks = this.listeners[event];
|
|
if (callbacks) {
|
|
this.listeners[event] = callbacks.filter(cb => cb !== callback);
|
|
}
|
|
},
|
|
emit(event, data) {
|
|
const callbacks = this.listeners[event];
|
|
if (callbacks) {
|
|
callbacks.forEach(callback => callback(data));
|
|
}
|
|
}
|
|
};
|
|
|
|
module.exports = eventManager; |