【发布时间】:2016-11-11 20:38:32
【问题描述】:
我正在尝试让我自己的类中的 EventEmitter 在 ES6 中运行:
"use strict";
const EventEmitter = require('events');
class Client extends EventEmitter{
constructor(token, client_id, client_secret, redirect_uri, code){
super();
this.token = token;
this.client_id = client_id;
this.client_secret = client_secret;
this.redirect_uri = redirect_uri;
this.code = code;
}
eventTest(){
this.emit("event");
console.log(this.token);
}
}
let testClient = new Client(1,2,3,4,5);
testClient.eventTest();
testClient.on('event', () => {console.log('triggerd!')} );
但事件没有做任何事情^^
如果没有 ES6,我可以使用以下代码:
var util = require('util');
var EventEmitter = require('events').EventEmitter;
var Client = function(credentials) {
var self = this;
function eventTest() {
self.emit('event');
}
};
util.inherits(Client, EventEmitter);
有人知道如何在 ES6 中正确地做到这一点吗?
【问题讨论】:
-
不应该是
const EventEmitter = require('events').EventEmitter;吗? -
@nem035 我已经找到了收藏,但我不明白如何制作活动。这些例子只是展示了如何在一个类中创建一个函数:/
标签: javascript node.js inheritance ecmascript-6 eventemitter