84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
var a=new require('events').EventEmitter() a.on('connection',fn); //这里a返回的值是不是就是EventEmitter对象
小伙看你根骨奇佳,潜力无限,来学PHP伐。
是的,这样一来,你就可以用链式的方法进行编写多个事件订阅。不过你的代码有点问题,建议修改为这样:
var EventEmitter = require('events').EventEmitter; var a = new EventEmitter(); a.on('connection',function(){}) .on("test", function(){});
先抛出结论:是的
原因:
var EventEmitter = require('events').EventEmitter; var a = new EventEmitter(); a.on('connection', function() {})
a.on在node中指向的是EventEmitter.prototype.addListener
a.on
EventEmitter.prototype.addListener
我们直接看调用堆栈
on实际上相当于调用了addListener
on
addListener
addListener的调用
_addListener的调用
_addListener
可以看到最终返回的是target,也就是addListener中的this,这里是我们EventEmitter的实例,也就是例子中的a
target
this
EventEmitter
是的,这样一来,你就可以用链式的方法进行编写多个事件订阅。不过你的代码有点问题,建议修改为这样:
先抛出结论:是的
原因:
a.on
在node中指向的是EventEmitter.prototype.addListener
我们直接看调用堆栈
on
实际上相当于调用了addListener
addListener
的调用_addListener
的调用可以看到最终返回的是
target
,也就是addListener中的this
,这里是我们
EventEmitter
的实例,也就是例子中的a