イベントを生成するためにeventEmitterを使用しています。実際それは非常に一般的な方法です。パブリッシュ/サブスクライブパターンの引数はどのように機能しますか?
eventEmitter.emit('started', data, date);
私たちはそれをキャッチしようとします。矢印機能を使用するとすべてがはっきりしています。 'data'と 'date'は引数として関数に渡されます。
someInstanse.event.on('started', (data, date) => {
//crazy stuff here
})
実際にこの表記はどのように機能しますか?私たちは、エミッタと3つの引数を決定し、私たちは本当に代わりに
someInstance.event.on('started', function(data, date) {
});
を唯一のイベント文字列と機能を持っている今、私は矢印の機能を追加する前に、それはこれが公開典型的なものである
Node docsを開き、そのemitメソッドを読み込むと、引数がリスナーに渡されます。また、すべてのemitter.on(eventName、listener)は、リスナーがコールバック関数であることを意味します。だから今は問題ではない。 –
データがコールバック関数に渡される方法が混乱しますか?またはどのようにイベントメーターはボンネットの下で動作しますか? – Chang
はい、今私はそれを公式化する方法を知っています。私は、クライアント側で 'emit'が呼び出されても、サーバ上で' emit'が発生しない理由を知りません。パブリッシュ/サブスクライブパターンに従って、すべての放出はリスナーの関数を反復して実行し、ハンドルを持つ配列が定義されていない場合はfalseを返します。私はSocket.IOライブラリを試しているので、サーバ自身が呼び出す 'emits'をフックすることしかできません。 –