EventEmiter
nodejs中的事件模型就是发布订阅者模型,nodejs中绝大多数异步的api都是异步事件驱动的,此api所有对象的原型都继承自EventEmiter类,另外一些第三方库也有EventEmiter类的身影(例如Koa)
简单用法
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
myEmitter.on('event', () => {
console.log('触发事件');
});
myEmitter.emit('event');
MyEmitter类继承了EventEmitter,他的子对象也就具有了触发、监听事件的特性
on(‘evnetName’,callback): 注册callback为eventName事件的回调方法
emit(‘eventName’): 触发事件eventName
常用api
method | desc |
---|---|
on(name,cb) | 注册事件,name为事件名,cb为回调方法 |
addListener(name,cb) | 注册事件,name为事件名,cb为回调方法 |
once(name,cb) | <