javascript - Node ES6类事件发射器函数?

标签 javascript node.js ecmascript-6 eventemitter es6-class

我正在尝试创建一个所有实例都响应事件的类:

const events = require("events");
const eventEmitter = new events.EventEmitter();

class Camera {
    constructor(ip) {
        this.ip = ip;     
    }

    eventEmitter.on("recordVideo", recordClip);

    recordClip() {
        console.log("running record video");
    }
}

// emit event once a minute
setInterval(function(){
    eventEmitter.emit('recordVideo');
}, 1000*60);

recordClip 函数似乎从未被调用。这可能吗?

我还尝试运行 this.recordClip 而不是 recordClip

最佳答案

将其移至构造函数内。

const events = require("events");
const eventEmitter = new events.EventEmitter();

class Camera {
    constructor(ip) {
        this.ip = ip;
        eventEmitter.on("recordVideo", this.recordClip.bind(this));
    }

    recordClip() {
        console.log("running record video");
    }
}

关于javascript - Node ES6类事件发射器函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45601647/

相关文章:

java - 基于 SAS 的软件中的分页

javascript - Mongoose update 更新数组内的嵌套对象

node.js - 如何捕获 Mongoose 的错误代码

node.js - 更新用户信息 mongoose, MongoDB, NodeJS

javascript - 在 typescript 中调用不同实例的数组元素的方法?

javascript - 如何在 iframe 中加载和执行 jQuery 内容?

javascript - React ref 在 onChange 中没有值

javascript - 函数式编程 - 函数式 javascript - 柯里化(Currying)和部分实现

javascript - Angular 2.0 : Does Typescript support all the features of ES6?

javascript - JS在嵌入中获取svg对象