我試圖將類的每個實例與事件發射器關聯。我想以下幾點:連接事件發射器與節點中的每個ES6類的實例
const events = require("events");
const eventEmitter = new events.EventEmitter();
class Camera {
constructor(ip) {
this.ip = ip;
eventEmitter.on("recordVideo", function() {
this.recordClip();
});
}
recordClip() {
console.log("record " + this.ip);
}
}
var cam = new Camera("0.0.0.0");
eventEmitter.emit("recordVideo");
但我得到的結果:
TypeError: this.recordClip is not a function
我怎麼能有我的類的每個實例監聽的事件?
爲什麼不直接使用[你已經得到的答案]的代碼(https://stackoverflow.com/a/45601755/1048572)? – Bergi
@bergi對不起,我剛剛複製並將我的函數調用粘貼到構造函數中。我沒有注意到所做的綁定改變。 –