16. Event Emitterを作る
シェアしよう
少し工夫が必要 - accepted / - tried
Node.jsにはEvent Emitterがあり, Facebookの実装 もあったけど今はarchiveされている。
Event Emitterを実装してください!
const emitter = new Emitter()
const sub1 = emitter.subscribe('event1', callback1)
const sub2 = emitter.subscribe('event2', callback2)
// 同じeventに同じcallbackが複数回登録できる
const sub3 = emitter.subscribe('event1', callback1)
emit(eventName, ...args)
を使ってcallbackをトリガーできる
emitter.emit('event1', 1, 2);
// callback1 は二回呼ばれる
subscribe()
はrelease()
を含めるオブジェクトを返す、サブスクリプションを取り消すことができる。
sub1.release()
sub3.release()
// 'event1'が発火されても、
// callback1 は実行されない