タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

EventEmitterに関するy-kawazのブックマーク (2)

  • EventEmitter.emit() によくある勘違い - hakobera's blog

    突然ですが、Node.jsで次のプログラムを実行した結果を答えてください。 var EventEmitter = require('events').EventEmitter; var event = new EventEmitter(); console.log('1'); event.on('open', function () { console.log('2'); }); event.emit('open'); console.log(3); 正解は少し下の方に書いてあります。 少しだけスクロールを我慢して考えてみてください。 正解は 1 2 3 です。 1 3 2 だと思っていた人も多いのではないでしょうか。(私だけかもしれませんが) つまり、表題の「EventEmitter.emit() によくある勘違い」とは、EventEmitter.emit()が次のイベントループで実行さ

    EventEmitter.emit() によくある勘違い - hakobera's blog
    y-kawaz
    y-kawaz 2012/12/11
    何故か自分はこの勘違いしたことがなかったなぁ。多分クライアントサイドでもEventEmitter多用してるし実装がどうみても同期的だし勘違いする前に慣れちゃったからかな…。むしろemit自体が非同期だったらdataとか困るね^^;
  • 橋本商会 » Node.jsのEventEmitterをRubyに移植した

    ものすごい必要だったので作った。 rubygemsに登録しておいたので gem install event_emitter で使える。 ドキュメントはここ Ruby EventEmitter バグ、機能要望などは githubのissueかtwitterかメールでお願いします EventEmitterとは Node.jsのコアライブラリ。lib/events.jsにある。 nvmでnodeをインストールすると ~/.nvm/src/node-v0.8.14/lib/events.js とかにある。 どんなオブジェクトにでも一発でonとemitという関数を追加できて、 obj.on(‘イベント名’, コールバック)でコールバック登録して obj.emit(‘イベント名’, 引数)でイベントを発火させる。 nodeの全てのライブラリがイベント駆動するためによく使ってる機能。 addEventL

  • 1