Node.js API 之 events

Node.js API 采用异步事件驱动架构,触发器辉周期性的触发命名事件来调用监视器。例如,net.Server 对象会在每次有新连接时触发事件;fs.ReadStream 会在文件打开时触发事件,流对象会在数据可读时触发事件。

所有事件的对象都是 EventEmitter 类的实例。

常用 API:
obj.on 绑定事件
obj.emit 触发器
obj.once 绑定事件只执行一次
obj.removeListener 移出事件

const EventEmitter = require('events');
const me = new EventEmitter();

const testFn = () => {
    console.log('test events');
};

// 绑定事件
me.on('test', testFn)

// 1秒触发一次 test 事件
setInterval(() => {
    me.emit('test');
}, 1000)

// 10秒后移出了 test 事件
setInterval(() => {
    me.removeListener('test', testFn);
}, 10000)

// 绑定事件只执行一次
me.once('testX', () => {
    console.log('once test events');
})
setInterval(() => {
    me.emit('testX');
}, 1000)

你可能感兴趣的:(Node.js)