blessing-skin-server/resources/assets/src/js/event.js
2018-09-09 09:28:05 +08:00

21 lines
469 B
JavaScript

/** @type {{ [name: string]: Function[] }} */
const bus = Object.create(null);
/**
* @param {string} eventName
* @param {Function} listener
*/
export function on(eventName, listener) {
(bus[eventName] || (bus[eventName] = [])).push(listener);
}
/**
* @param {string} eventName
* @param {any} payload
*/
export function emit(eventName, payload) {
bus[eventName] && bus[eventName].forEach(listener => listener(payload));
}
blessing.event = { on, emit };