events
小于 1 分钟
events
events模块提供一个事件监听器,用来监听各种事件,ws就是用的events
import EventEmitter from 'events'
const door = new EventEmitter();
他有两个内置的事件监听器
newListener
添加新的监听器removeListener
移除一个监听器
emitter.addListener()
是emitter.on()
的缩写
emitter.emit()
触发事件
door.emit('slam'); // emitting the event "slam"
emitter.eventNames()
获取一个事件名的数组
emitter.getMaxListeners()
获取最多能添加的监听器数量,默认是10,可以用setMaxListeners()
增加
emitter.listenerCount()
获取事件的参数个数
door.listenerCount('open');
emitter.listeners()
door.listeners('open');
emitter.off()
emitter.removeListener()
的缩写
emitter.on()
触发一个事件,执行函数
door.on('open', () => {
console.log('Door was opened');
});
emitter.once()
只执行一次回调函数
import EventEmitter from 'events'
const ee = new EventEmitter();
ee.once('my-event', () => {
// call callback function once
});
emitter.prependListener()
在事件列表最前面添加事件
emitter.removeAllListeners()
移除所有的事件
door.removeAllListeners('open');
emitter.removeListener()
移除一个特定的事件
const doSomething = () => {};
door.on('open', doSomething);
door.removeListener('open', doSomething);
emitter.setMaxListeners()
设置最多的的监听器,默认是10