NodejsのEventEmitter
1166 ワード
EventEmitterはnodejsコアの一部です.多くのnodejs対象者はEventEmitterから継承されています.イベントの処理とフィードバックに用いられます.APIの例を見てください.
Rubyと比較して、blockで実現できます.
var util = require("util");
var events = require("events");//EventEmitter events
function MyStream() {//
events.EventEmitter.call(this);
}
util.inherits(MyStream, events.EventEmitter);// EventEmitter
MyStream.prototype.write = function(data) {//
this.emit("data", data);// "data"
}
var stream = new MyStream();
stream.on("data", function(data) {// , "data"
console.log('Received data: "' + data + '"');
})
stream.write("It works!"); // Received data: "It works!"
EventEmitterを継承することにより、対象として関連イベントを登録したり、トリガーしたりすることができます.Rubyと比較して、blockで実現できます.
class MyStream
def write(data)
yield data
end
end
stream = MyStream.new
stream.write('It works!') do |data|
puts "Received data: #{data}"
end