Skip to content

01 events 常用方法

常用方法.js
js
const EventEmitter = require('events');

// 1.创建一个emitter 发射器
const emitter = new EventEmitter()

// 2.监听某个事件
// addListener 是 on alias简写 
// on alias 
const listener = (arg) => {
    console.log('msg', arg)
}
emitter.on('login', listener)

// 3.发射login事件
emitter.emit('login', 'hello world')

// 4.取消监听
emitter.off('login', listener)

02 events 不常用方法

events不常用方法.js
js
const EventEmitter = require('events');

// 1.创建一个emitter 发射器
const emitter = new EventEmitter()

// 2.监听某个事件
// addListener 是 on alias简写 
// on alias 
const listener = (arg) => {
    console.log('msg', arg)
}
emitter.once('login', listener) //仅仅监听一次
emitter.prependListener('click', listener) //添加一个监听放在最前面
emitter.prependOnceListener('click', listener) //添加一个监听放在最前面 并且只监听一次


emitter.removeAllListeners() //移出所有监听器

03 events 获取信息

events获取信息.js
js
const EventEmitter = require('events');

// 1.创建一个emitter 发射器
const emitter = new EventEmitter()

// 2.监听某个事件
// addListener 是 on alias简写 
// on alias 
const listener = (arg) => {
    console.log('msg', arg)
}
emitter.on('login', listener)
emitter.on('tap', listener)

// 3.发射login事件
emitter.emit('login', 'hello world')
// 获取注册事件
console.log('获取注册事件', emitter.eventNames()) //获取注册事件 [ 'login', 'tap' ]

// 
console.log('获取事件发生次数', emitter.listenerCount('login')) //获取事件发生次数 1

console.log('获取文件listener', emitter.listeners('login')) //获取文件listener [ [Function: listener] ]