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 は実行されない