Maison  >  Questions et réponses  >  le corps du texte

javascript - 关于node。js里面event 模块中 EventEmitter对象on方法返回的值

var a=new require('events').EventEmitter()
a.on('connection',fn);
//这里a返回的值是不是就是EventEmitter对象
伊谢尔伦伊谢尔伦2722 Il y a quelques jours331

répondre à tous(2)je répondrai

  • PHP中文网

    PHP中文网2017-04-11 12:07:53

    是的,这样一来,你就可以用链式的方法进行编写多个事件订阅。不过你的代码有点问题,建议修改为这样:

    var EventEmitter = require('events').EventEmitter;
    var a = new EventEmitter();
    a.on('connection',function(){})
     .on("test", function(){});

    répondre
    0
  • 巴扎黑

    巴扎黑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

    répondre
    0
  • Annulerrépondre