84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
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