blog.sorah.jp

socket.io で任意のeventを一つのlistenerで受け取る

https://gist.github.com/3683181

無理っぽいのでこういうhackをするしかない。 Eventのinvoke周りは node.js 由来の EventEmitter を使っていて、その emit メソッドをラップして、本物のemitを実際に渡された引数で渡した後、別のeventとしてemitに飛んできた引数をargsとして渡しているだけ。

EventEmitter の emit は $emit に姿を変えていた

しかし socket.io がドキュメント無いのは驚いた。こういう知名度があって便利なライブラリ、わりとドキュメント無いのが多い。ドキュメントが、無い。人のこと言えないけど。

小さいコードなら今回のように自分で読んで解決できるけど、Rails のように巨大なライブラリがドキュメントなかったら絶望(デデドン) だと思う。

利用例

こんなふうに使います。

public domain なのでお好きにどうぞ。

Backfilled at , Published at