2

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

ノードは「オブジェクト」にメソッド「on」がないと文句を言います。ただし、Downloader instanceOf EventEmitter をチェックすると true が返されます。

誰か説明できますか?ありがとう!

4

1 に答える 1