ストリームなどのようにから継承されたオブジェクトがあるとしEventEmitter
ます。リッスンできるすべてのイベントと、接続されているすべてのイベント リスナーを知る良い方法はありますか?
質問の 2 番目の部分は簡単だと思いますemitter.listeners(event)
。すべてのリスナーにイベントを教えてくれます。しかし、聞くことができるすべてのイベントを事前に知る方法はありますか?
ストリームなどのようにから継承されたオブジェクトがあるとしEventEmitter
ます。リッスンできるすべてのイベントと、接続されているすべてのイベント リスナーを知る良い方法はありますか?
質問の 2 番目の部分は簡単だと思いますemitter.listeners(event)
。すべてのリスナーにイベントを教えてくれます。しかし、聞くことができるすべてのイベントを事前に知る方法はありますか?
私の知る限り、EventEmitter が発行できるすべてのイベントをリストするのに役立つ公開 API やドキュメントはありません。
しかし、EventEmitter のソース コードを見ると、すべてのイベントが_events
プロパティに格納されていることがわかります。そのため、コードはオブジェクトのキーをループして、考えられるすべてのイベントを見つけることができます。イベント名をリストする方法の例を次に示します。
var ee = new SomeEventEmitter();
console.log(Object.keys(ee._events));
ただし、これは文書化されていないため、これには注意することをお勧めします。
編集:一部のモジュールは、可能なイベントのリストを提供します。たとえば、SAX (および対応するソース) を参照してください。