npm: DisposableEmitter

GitHub npm npm

atom/event-kitを利用したEventEmitter
AutoEmitと呼んでいる特徴的な機能があります。

特徴

  • EventEmitter3 相当のメソッド
  • event-kitのEmitterにはなかった onceメソッドがある
  • startAutoEmit / stopAutoEmit
    • あるイベントにリスナが追加された時に、追加されたリスナにイベントを通知する機能
      (jQuery.readyの様な機構、モジュールの初期化待ちイベントとかに使える)
    • startAutoEmit(event, args...)で指定されたイベントにリスナが登録された時
      argsに渡された引数を渡してリスナを発火させる
    • onceで登録されたリスナにAutoEmitでイベントが通知されたら
      自動的にoffされる(リスナリストに登録されない)
  • on, onceした時にDisposableオブジェクトを返す
    イベントを監視するオブジェクト側でCompositeDisposableとかに詰めておけば
    オブジェクトを無効化するときにCompositeDisposable.disposeでイベントハンドラを確実に外せる

コメントを残す

メールアドレスが公開されることはありません。