Node.jsイベント
Node.jsは、イベント駆動型アプリケーションに最適です。
Node.jsのイベント
コンピューターでのすべてのアクションはイベントです。接続が確立されたときやファイルが開かれたときのように。
Node.jsのオブジェクトは、ファイルを開いたり閉じたりするときにreadStreamオブジェクトがイベントを発生させるように、イベントを発生させることができます。
例
var fs = require('fs');
var rs = fs.createReadStream('./demofile.txt');
rs.on('open', function () {
console.log('The file is open');
});
イベントモジュール
Node.jsには、「イベント」と呼ばれる組み込みモジュールがあり、独自のイベントを作成、起動、およびリッスンできます。
組み込みのEventsモジュールを含めるには、require()
メソッドを使用します。さらに、すべてのイベントプロパティとメソッドは、EventEmitterオブジェクトのインスタンスです。これらのプロパティとメソッドにアクセスできるようにするには、EventEmitterオブジェクトを作成します。
var events = require('events');
var eventEmitter = new events.EventEmitter();
EventEmitterオブジェクト
EventEmitterオブジェクトを使用して、イベントハンドラーを独自のイベントに割り当てることができます。
以下の例では、「scream」イベントが発生したときに実行される関数を作成しました。
イベントを発生させるには、emit()
メソッドを使用します。
例
var events = require('events');
var eventEmitter = new events.EventEmitter();
//Create an event handler:
var myEventHandler = function () {
console.log('I hear a scream!');
}
//Assign the event handler to an
event:
eventEmitter.on('scream', myEventHandler);
//Fire the
'scream' event:
eventEmitter.emit('scream');