Nodeのイベント駆動プログラミング

サーバサイドJavaScript Node.js入門 を年末に一読したのでまとめ。

イベントの処理の流れ

  • イベントを発生するオブジェクトを作成する
  • イベント発生時の処理関数(リスナ)を作成する
  • イベントを定義する
  • 任意のタイミングでイベントを発生させる

イベントを発生させるにはEventEmitterオブジェクトを利用

var events = require('events');
var emitter = new events.EventEmitter();

リスナ関数を作成

var sampleListener = function(arg1){
  console.log(arg1);
}

イベントを定義

emitter.on('occurrence', sampleListener);

イベントを発生させる

emitter.emit('occurrence', 'occured!');