扫码关注官方订阅号
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
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
是的,这样一来,你就可以用链式的方法进行编写多个事件订阅。不过你的代码有点问题,建议修改为这样:
先抛出结论:是的
原因:
a.on在node中指向的是EventEmitter.prototype.addListener我们直接看调用堆栈
on实际上相当于调用了addListeneraddListener的调用_addListener的调用可以看到最终返回的是
target,也就是addListener中的this,这里是我们
EventEmitter的实例,也就是例子中的a