ノード内のEventEmitatorの理解USECASEを使用したJS


この記事では、イベントのエミッタといくつかのユースケースを理解することによってどのように動作するかを参照してください.ノード内のEventEmitatorの理解USECASEを使用したJS
最近のノードに関する記事js
Apache Kafka for Node.js Developers
ノードのコア概念の1つ.jsはevents . イベントエミッタはノードに重要な役割を果たします.イベントドリブンアーキテクチャ
イベントエミッタは、ノード内のオブジェクト間の通信を容易にするモジュールです.jsノード上に構築されたほとんどのライブラリ/モジュール.jsはノードからeventエミッタを使用します.JSはイベント駆動アーキテクチャに従う.
すなわち、イベントエミッタを使用してカスタムロガーを構築することで、イベントエミッタを学習します.

どうやって動くの?

  • イベントエミッターはメッセージと呼ばれるイベントのデータを出力する
  • イベントメッセージにリストを登録する
  • メッセージイベントがデータを出力すると、リスナーはデータを取得します.

  • ビルディングブロック


  • . ide () -イベントエミッター内のこのメソッドは、モジュール内でイベントを生成することです

  • on () -このメソッドは、ノード内の登録済みイベントのデータをリッスンすることです.js

  • . once () -登録されているイベントのデータを一度だけ聞く.
  • .addListel ()-イベントに対してリスナーが登録されているかどうかを調べます.
  • .removelistener () -イベントのリスナーを削除します.

  • const EventEmitter = require('events');
    
    const emitter = new EventEmitter();
    
    emitter.on('message',function(message) {
    
      console.log("subsribed",message);
    })
    
    emitter.emit('message',{ data : "Data" });
    まず、基本的にクラスであるイベントと呼ばれるパッケージをインポートします.その後、名前エミッタでクラスをインスタンス化します.
    その後、特定のイベントのリスナーを登録する必要があります.
    最後に、イベントを発生させる場合、登録されたリスナはデータと共にイベントを取得します.

    ユースケース


    先に述べたように、イベントエミッタはノードの重要概念です.js我々はそれがどのように動作し、それの重要なビルディングブロックを学んだ.
    しかし、我々が何かを学ぶとき、我々の心に来る重要な質問の1つは、どこでそれを実行する必要がありますか?
    イベントエミッタについてもっと理解するユースケースを見てみましょう.

    イベントエミッタを使用したロガー


    主に、イベントエミッタを使用してロガー関数の書き方を見ます.
    Loggerというファイルを作成します.JSと次のコードを追加します.
    const EventEmitter = require('events');
    
    class Logger extends EventEmitter {
    
       logIt(eventName,message) {
          
          this.emit(eventName,message);
       }
    }
    
    module.exports = Logger
    Loggerクラスを拡張します.イベント名とメッセージを引数とするlogitという次のメソッドを追加します.
    インデックスと呼ばれるファイルを作成します.JSと次のコードを追加します.
    
    const Logger = require('./Logger');
    
    const logger = new Logger();
    
    
    logger.on('logMessage',(arg) => {
       console.log("Listened value => ",arg);
    })
    
    
    logger.logIt('logMessage',{ name : 'John',age : 40 })
    これはモジュールロガーを必要とし、クラスをロガーとしてインスタンス化します.
    logit ()関数は、logmessageと呼ばれるイベントを生成します.リスナーは、イベントを聞いて、それを記録します.
    ノード内のいくつかの高度な概念を学ぶ.私の好きなコースの1つはStephen Grider . 私はこのコースでは、ノードの高度な概念を学ぶことをお勧めします.js
    Node JS: Advanced Concepts