子类events.EventEmitter不起作用

如何inheritanceEventEmitter? 我正在尝试以下testing:

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(); 

节点抱怨'对象'没有方法'打开'。 但是,当检查Downloader实例时,EventEmitter返回true。

有人可以解释吗? 谢谢!

哎呀 首先它应该是'module.exports'。 其次是“实例”而不是“实例”。

我的错。 这是一个工作的例子

 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();