var a=new require('events').EventEmitter()
a.on('connection',fn);
//这里a返回的值是不是就是EventEmitter对象
PHP中文网2017-04-11 12:07:53
是的,这样一来,你就可以用链式的方法进行编写多个事件订阅。不过你的代码有点问题,建议修改为这样:
var EventEmitter = require('events').EventEmitter;
var a = new EventEmitter();
a.on('connection',function(){})
.on("test", function(){});
巴扎黑2017-04-11 12:07:53
先抛出结论:是的
原因:
var EventEmitter = require('events').EventEmitter;
var a = new EventEmitter();
a.on('connection', function() {})
a.on
在node中指向的是EventEmitter.prototype.addListener
我们直接看调用堆栈
on
实际上相当于调用了addListener
addListener
的调用
_addListener
的调用
可以看到最终返回的是target
,也就是addListener中的this
,
这里是我们EventEmitter
的实例,也就是例子中的a