eventEmitter.emit() 方法可以传任意数量的参数到监听器函数。
当监听器函数被调用时,this 关键词会被指向监听器所绑定的 EventEmitter 实例。
const myEmitter = new MyEmitter();myEmitter.on('event', function(a, b) {console.log(a, b, this, this === myEmitter);// 打印:// a b MyEmitter {// domain: null,// _events: { event: [Function] },// _eventsCount: 1,// _maxListeners: undefined } true});myEmitter.emit('event', 'a', 'b');
也可以使用 ES6 的箭头函数作为监听器。但 this 关键词不会指向 EventEmitter 实例:
const myEmitter = new MyEmitter();myEmitter.on('event', (a, b) => {console.log(a, b, this);// 打印: a b {}});myEmitter.emit('event', 'a', 'b');
