我有點困惑用於node.js中EventEmitter
的回調
var events = require("events");
function myObject() {
this.name = "Test Object";
this.x = 99;
this.y = 100;
}
myObject.prototype = new events.EventEmitter();
var myobject = new myObject();
myobject.addListener('dbg1', function() {
console.log("this.name = " + this.name); //this.name gives the name not undefined
console.log("myobject.name = " + myobject.name); //so does this
});
myobject.emit('dbg1');
爲什麼this
回調指myobject
裏面?回調函數的閉包是這段代碼中的全局範圍,對嗎?
我明白了。那麼,節點是否也通過「應用」對象來調用回調函數?我是節點以及javascript的新手,所以我想這是每個API都實現的標準方式嗎? – Andariel
事件庫不是,不是節點本身。事件API可以通過多種方式實現,幾乎所有的事情都會使這個事件綁定的對象成爲這個對象。 – Quentin