EventEmitterとかfsとかutilとか

書いておかないと忘れるのでメモメモ。

var events = require('events'),
    fs = require('fs'),
    util = require('util');

function Finder(path) {
  this._path = path;
}

util.inherits(Finder, events.EventEmitter);

Finder.prototype.find = function () {

  var that = this;

  fs.readdir(this._path, function (err, files) {
    that.emit('find', err, files);
  });

};





var find = new Finder('.');

find.on('find', function (err, files) {
  if (err) throw err;
  console.dir(files);
});
find.find();

カレントディレクトリ直下のファイルやディレクトリを出力するスクリプト
EventEmitterを使うとコールバック地獄的にならなくて済むから読みやすいねえ。