1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| class Emitter {
| constructor() {
| this.events = {};
| }
|
| on(event, listener) {
| if (!this.events[event]) {
| this.events[event] = [];
| }
| this.events[event].push(listener);
| }
|
| emit(event, ...args) {
| if (this.events[event]) {
| this.events[event].forEach(listener => {
| listener.apply(this, args);
| });
| }
| }
| }
|
| const emitter = new Emitter();
|
| export default emitter;
|
|