LotteryAutoScript/lib/helper/event_bus.js
shanmite 6c75d57adb
Some checks failed
Build and push Docker images / docker (push) Failing after 2m16s
Mirror and run GitLab CI / build (push) Failing after 1m44s
Publishing to NPM / publish (push) Failing after 14s
Package Node.js project into an executable / node${{ matrix.nodev }}-${{ matrix.platform }}-x64 (18, linux) (push) Failing after 1m41s
Package Node.js project into an executable / node${{ matrix.nodev }}-${{ matrix.platform }}-x64 (18, macos) (push) Failing after 52s
Package Node.js project into an executable / node${{ matrix.nodev }}-${{ matrix.platform }}-x64 (18, win) (push) Failing after 52s
Package Node.js project into an executable / node18-${{ matrix.platform }}-arm64 (linux) (push) Has been cancelled
Package Node.js project into an executable / node18-${{ matrix.platform }}-arm64 (linuxstatic) (push) Has been cancelled
Package Node.js project into an executable / node18-${{ matrix.platform }}-arm64 (alpine) (push) Has been cancelled
lint: eslint
2024-06-21 16:55:12 +08:00

26 lines
490 B
JavaScript

const { EventEmitter } = require('events');
/**
* 事件总线
*/
const event_bus = {
ee: new EventEmitter(),
event_list: [],
on(event, fn) {
this.ee.addListener(event, fn);
this.event_list.push(event);
},
emit(event, msg) {
this.ee.emit(event, msg);
},
flush() {
this.event_list.forEach(event => {
this.ee.removeAllListeners(event);
});
this.event_list = [];
}
};
module.exports = event_bus;