https://yuxingxin.github.io/posts/javascript-event-emitter/
JavaScript基础之发布-订阅模式EventEmitter的实现 - 宇行信