繁体   English   中英

Node.js:我的eventEmitter不会从其构造函数内部发出事件

[英]Nodejs: My eventEmitter won't emit events from inside its constructor

我在Node.js中使用自定义事件发射器遇到了一些麻烦。 我很确定自己已经正确创建了事件发射器,因为我可以在其实例上触发并捕获事件。

但是,没有触发其构造函数中的任何事件。 它们似乎都存在并且正在正确地注册其侦听器,但是this.emit函数不会执行任何操作。

为了清楚起见,这是一个最小的失败示例:

var EventEmitter = require("events").EventEmitter,
    util = require("util");

var MyEmitter = function() {
    var self = this;
    EventEmitter.call(this);

    someExternalFunction(function callback() {
        self.emit("event 1"); // Does not fire
        console.log("fires");
    });   

    this.emit("event 2"); // Does not fire

    return this;
};

util.inherits(Browser,EventEmitter);

var myEmitterInstance = new MyEmitter();

myEmitterInstance.emit("event 3");  // fires

myEmitterInstance.on("event 1 - does not fire", function () {

//Do something with the results of someExternalFunction.

} // this function never runs.

我不明白自己做错了什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM