发布网友 发布时间:2022-11-24 03:35
共1个回答
热心网友 时间:2024-12-11 17:43
问题
你希望通过事件驱动的手段来解决问题。你有一个类你希望在异步事件发生的时候来操作它。
解决办法
你需要创建一个基于EventEmitter类的自定义类,基于EventEmitter类得到的示例,都绑定了一个*,eventEmitter.on()用于监听事件,eventEmitter.emit()用于触发事件。下面是一个音乐播放器的实例:
首先实现对EventEmitter类的继承
通过继承创建的实例对象有绑定*,可以调用on,emit方法
我们可以给事件添加多个*,比如上面的音乐播放器,我们在play触发时需要做些其他的事情比如用户界面需要更新等。对play事件添加一个新的*就能轻松实现。
eventEmitter.removeListener(eventname,fn):移除一个*
emitter.removeAllListeners([eventName]):移除所有的*
通过监听error事件,来进行错误处理。