Javascript 子类化events.EventEmitter不工作
如何将EventEmitter子类化?我正在尝试以下测试:Javascript 子类化events.EventEmitter不工作,javascript,node.js,eventemitter,Javascript,Node.js,Eventemitter,如何将EventEmitter子类化?我正在尝试以下测试: var util = require('util') ,events = require('events'); function Downloader() { events.EventEmitter.call(this); } util.inherits(Downloader, events.EventEmitter); console.log(new Downloader() instanceof events.E
var util = require('util')
,events = require('events');
function Downloader() {
events.EventEmitter.call(this);
}
util.inherits(Downloader, events.EventEmitter);
console.log(new Downloader() instanceof events.EventEmitter); // true
Downloader.prototype.download = function(episode) {
var self = this;
var statusMessage = 'Downloading: ' + episode;
self.emit('status', statusMessage);
setTimeout(function() {
var finishedMessage = 'Downloaded ' + episode;
self.emit('finished', finishedMessage);
}, 5000);
}
exports.Downloader = new Downloader();
节点抱怨“object”没有方法“on”。但是,当检查EventEmitter的Downloader instanceOf为时,返回true
有人能解释一下吗?谢谢 哦,天哪。首先,它应该是“module.exports”。其次,它的'instanceof'不是'instanceof' 我的错。这里有一个有效的例子
var util = require('util')
,events = require('events');
function Downloader() {
events.EventEmitter.call(this);
}
util.inherits(Downloader, events.EventEmitter);
Downloader.prototype.download = function(episode) {
var self = this;
var statusMessage = 'Downloading: ' + episode;
self.emit('status', statusMessage);
setTimeout(function() {
var finishedMessage = 'Downloaded ' + episode;
self.emit('finished', finishedMessage);
}, 5000);
}
module.exports = new Downloader();