web-dev-qa-db-ja.com

「emit」JavaScript関数とは何ですか?

sax nodejsモジュールを調べていると、複数のemit関数呼び出しが見つかりましたが、それに関する情報は見つかりません。

イベントを発行するためのV8ネイティブツールですか?なぜ sax-jsストリームにEventEmitterを使用しないのですか?

10
avasin
Please look at line number 624 of same file 
function emit (parser, event, data) {
  parser[event] && parser[event](data)
}
4
brk

Node.jsでは、イベントは対応するコールバックを持つ文字列として簡単に説明できます。イベントは「放出」(または言い換えると、対応するコールバックが呼び出される)か、または最初にのみリッスンするように選択できます放出されます。

OnまたはaddListenerメソッド(基本的にサブスクリプションメソッド)を使用すると、監視するイベントと呼び出すコールバックを選択できます。一方、emitメソッド(publishメソッド)を使用すると、イベントを「エミット」できます。これにより、イベントに登録されているすべてのコールバックが「起動」されます(呼び出されます)。

参照: https://docs.nodejitsu.com/articles/getting-started/control-flow/what-are-event-emitters/ (これは古いリンクであり、動作しません)

24
Psylogic

Short:Emitジョブは、名前付きイベントをトリガーすることです。これにより、リスナーとも呼ばれる関数オブジェクトが呼び出されます。

詳細:Node.jsコアAPIは慣用的なasynchronousイベント駆動型アーキテクチャーを中心に構築されており、特定の種類のオブジェクト( "emitters"と呼ばれる)が関数を引き起こす名前付きイベントを定期的に発行します呼び出されるオブジェクト(「リスナー」)。

イベントを発生させるすべてのオブジェクトは、EventEmitterクラスのインスタンスです。これらのオブジェクトはeventEmitter.on()関数を公開します。これにより、オブジェクトによって発行された名前付きイベントに1つ以上の関数をアタッチできます。

EventEmitterオブジェクトがイベントを発行すると、その特定のイベントに関連付けられているすべての関数がsynchronouslyと呼ばれます。呼び出されたリスナーから返された値はすべて無視され、破棄されます。

続きを読む ここ