node 内置模块 events

events 模块

node 的 events 模块跟 vue 的 event-bus 逻辑基本差不多, 用 emit 来进行事件派发, on 来进行接收注册的事件并执行

var events = require('events')
var eventEmiter = new events.EventEmitter()

// 第二步eventEmiter接收到 test 事件,并执行回调
eventEmiter.on('test', function () {
    console.log('开始接收数据')
    // 第三步,在 test 回调内又派发了事件
    eventEmiter.emit('getData')
})

// 第四步 继续接收到getData事件并执行
eventEmiter.on('getData事件并执行', function () {
    console.log('数据接收成功')
})

// 第一步,通过eventEmiter派发 test 事件
eventEmiter.emit('test')

console.log('程序执行完毕')

但是这个过程并不是异步执行的


更多 api