EventEmitter on Browser

Node.jsにはEventEmitterというのがあり、こいつがかなり重要になる。

だいたい適当にコードをかいてしまうと

var EventEmitter = require('events').EventEmitter;
function C(){};
C.prototype = new EventEmitter();
var obj = new C();
obj.addEventListener("test", function(){ console.log("Wooo") });

みたいな感じで、すべてのオブジェクトにaddEventListenerやらが付与されてかなりいい感じになる。

んでこれをブラウザ上でのJavascriptでも実現したいと思ったので実装した。

コードはgithubにある

だいたい上のコードと同じイメージで使えるので、苦労することはない。

本家EventEmitterとの違いは以下

  • EventEmitter#maxListeners はない
  • イベントリスナはsetTimeout()を挟んで実行される

なんかしら思いついたら追加で実装したりするし、バグがあったらなおします。ライセンスは放棄で。


This entry was posted in Programming and tagged . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>