npmパッケージでイベントリスナーはどこに定義されていますか?

ジョージ

私は学習プロジェクトとしてnodejsでIRCボットのコーディングに取り組んできました私は次のようなイベントリスナーに頻繁に出くわしました:

bot.addListener("message", function(from, to, text, message) {
.
.
.
});

問題:これがどこでaddListener定義/説明されているかについての説明をどこでも探していました何も見つかりません。これはのircパッケージからのものnpmであり、ircパッケージソース内のすべてのgithubファイルを検索した後でも、文字列のインスタンスが見つかりませんaddListener

何が起きてる?これaddListenerどのように機能しているか、IRCイベントのリスト(「メッセージ」だけでなく)などをどのように把握できますか?

Vasiliy Vanchuk

こちらをご覧くださいhttp://nodejs.org/docs/latest/api/events.html#events_emitter_addlistener_event_listener

エミッター.addListener(イベント、リスナー)

Emitter.on(イベント、リスナー)

指定されたイベントのlisteners配列の最後にリスナーを追加します。リスナーがすでに追加されているかどうかを確認するためのチェックは行われません。イベントとリスナーの同じ組み合わせを渡す複数の呼び出しにより、リスナーが複数回追加されます。

server.on('connection', function (stream) {   console.log('someone
connected!'); }); Returns emitter, so calls can be chained.

通常、http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructorでオブジェクトに追加されます

util.inherits(constructor、superConstructor)#プロトタイプメソッドをあるコンストラクターから別のコンストラクターに継承します。コンストラクターのプロトタイプは、superConstructorから作成された新しいオブジェクトに設定されます。

追加の利便性として、superConstructorはconstructor.super_プロパティを介してアクセスできます。

var util = require("util"); var events = require("events");

function MyStream() {
    events.EventEmitter.call(this); }

util.inherits(MyStream, events.EventEmitter);

MyStream.prototype.write = function(data) {
    this.emit("data", data); }

var stream = new MyStream();

console.log(stream instanceof events.EventEmitter); // true console.log(MyStream.super_ === events.EventEmitter); // true

stream.on("data", function(data) {
    console.log('Received data: "' + data + '"'); }) stream.write("It works!"); // Received data: "It works!"

irc-botについては、https://github.com/martynsmith/node-irc/blob/master/lib%2Firc.jsの603行目でこの刺し傷を見つけることができます。

util.inherits(Client, process.EventEmitter);

とイベントはのような建設で解雇されました

self.emit('connect'); // same file  L:665

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

npmを使用して、プライベートリポジトリから「バイナリ」パッケージをグローバルにインストールして使用するにはどうすればよいですか?

分類Dev

グローバルnpmパッケージはUbuntuにどこにインストールされますか

分類Dev

インストールされているパッケージの場所はどこにありますか?

分類Dev

これはイベントリスナーでは定義されていません

分類Dev

インストールされているアプリのパッケージファイルはどこにありますか

分類Dev

package.jsonで定義されたスクリプトを無効にせずに、npmパッケージがインストール後のスクリプトを実行できないようにするにはどうすればよいですか?

分類Dev

関数をパッケージエントリポイントとして定義するにはどうすればよいですか?

分類Dev

クラスがScalaで定義されているのと同じパッケージにアクセス修飾子が設定されているプライベートトップレベルクラスのスコープは何ですか?

分類Dev

Powershellを使用して最新バージョンのPythonをインストールするための好ましい方法はどれですか?パッケージ化されたバイナリまたはオンラインインストール?

分類Dev

Javaコンパイラがパッケージプライベートスーパータイプで定義されたパブリックメソッドに可視性ブリッジメソッドを追加するのはなぜですか?

分類Dev

定義されているkubernetes自動スケーリングの可能なメトリックはどこにありますか

分類Dev

AURパッケージからインストールされたバイナリを見つけるにはどうすればよいですか?

分類Dev

Gentoo-すでにインストールされているパッケージからバイナリパッケージを作成する方法

分類Dev

Linuxパッケージはどこでホストされていますか?(特にDebian)

分類Dev

Debianベースのディストリビューションにインストールされているすべてのパッケージのライセンスを一覧表示するにはどうすればよいですか?

分類Dev

ターミナルカラーエスケープシーケンスはbashのどこかに定義されていますか?

分類Dev

ターミナルカラーエスケープシーケンスはbashのどこかに定義されていますか?

分類Dev

dpkgは、すでにインストールされているパッケージが見つからないことについて文句を言います

分類Dev

Azureのプライベートコンテナーイメージインスタンスで、イメージレジストリのパスワードとユーザー名はどこにどのように保存されますか?

分類Dev

公式リポジトリからインストールされていないすべてのパッケージを検索するフィルターを Synaptic に設定するにはどうすればよいですか?

分類Dev

インストールされているすべてのパッケージを一覧表示し、そこから不要なパッケージをアンインストールするにはどうすればよいですか?

分類Dev

プライベートnpmパッケージを組織としてGitHubパッケージに公開してインストールするにはどうすればよいですか?

分類Dev

特定のバージョンよりも小さいnpmパッケージをインストールするにはどうすればよいですか?

分類Dev

定義値が#langラケット/ベースのラケットマクロにバインドされていないのはなぜですか?

分類Dev

インストールされたパッケージの依存関係はどこに保存されますか?

分類Dev

キャレットパッケージを使用して実行されるGBMで、パフォーマンス測定値としてAUPRCを使用したいと思います。auprcなどのカスタマイズされたメトリックを使用するにはどうすればよいですか?

分類Dev

このSymfony2REST APIチュートリアルでは、ルートの「投稿」パス部分はどこに定義されていますか?

分類Dev

Debianベースのシステムでは、すでにアンインストールされているパッケージの構成ファイルをどのようにパージしますか?

分類Dev

Visual Studio 2019でプライベートNugetパッケージレジストリを設定するにはどうすればよいですか?

Related 関連記事

  1. 1

    npmを使用して、プライベートリポジトリから「バイナリ」パッケージをグローバルにインストールして使用するにはどうすればよいですか?

  2. 2

    グローバルnpmパッケージはUbuntuにどこにインストールされますか

  3. 3

    インストールされているパッケージの場所はどこにありますか?

  4. 4

    これはイベントリスナーでは定義されていません

  5. 5

    インストールされているアプリのパッケージファイルはどこにありますか

  6. 6

    package.jsonで定義されたスクリプトを無効にせずに、npmパッケージがインストール後のスクリプトを実行できないようにするにはどうすればよいですか?

  7. 7

    関数をパッケージエントリポイントとして定義するにはどうすればよいですか?

  8. 8

    クラスがScalaで定義されているのと同じパッケージにアクセス修飾子が設定されているプライベートトップレベルクラスのスコープは何ですか?

  9. 9

    Powershellを使用して最新バージョンのPythonをインストールするための好ましい方法はどれですか?パッケージ化されたバイナリまたはオンラインインストール?

  10. 10

    Javaコンパイラがパッケージプライベートスーパータイプで定義されたパブリックメソッドに可視性ブリッジメソッドを追加するのはなぜですか?

  11. 11

    定義されているkubernetes自動スケーリングの可能なメトリックはどこにありますか

  12. 12

    AURパッケージからインストールされたバイナリを見つけるにはどうすればよいですか?

  13. 13

    Gentoo-すでにインストールされているパッケージからバイナリパッケージを作成する方法

  14. 14

    Linuxパッケージはどこでホストされていますか?(特にDebian)

  15. 15

    Debianベースのディストリビューションにインストールされているすべてのパッケージのライセンスを一覧表示するにはどうすればよいですか?

  16. 16

    ターミナルカラーエスケープシーケンスはbashのどこかに定義されていますか?

  17. 17

    ターミナルカラーエスケープシーケンスはbashのどこかに定義されていますか?

  18. 18

    dpkgは、すでにインストールされているパッケージが見つからないことについて文句を言います

  19. 19

    Azureのプライベートコンテナーイメージインスタンスで、イメージレジストリのパスワードとユーザー名はどこにどのように保存されますか?

  20. 20

    公式リポジトリからインストールされていないすべてのパッケージを検索するフィルターを Synaptic に設定するにはどうすればよいですか?

  21. 21

    インストールされているすべてのパッケージを一覧表示し、そこから不要なパッケージをアンインストールするにはどうすればよいですか?

  22. 22

    プライベートnpmパッケージを組織としてGitHubパッケージに公開してインストールするにはどうすればよいですか?

  23. 23

    特定のバージョンよりも小さいnpmパッケージをインストールするにはどうすればよいですか?

  24. 24

    定義値が#langラケット/ベースのラケットマクロにバインドされていないのはなぜですか?

  25. 25

    インストールされたパッケージの依存関係はどこに保存されますか?

  26. 26

    キャレットパッケージを使用して実行されるGBMで、パフォーマンス測定値としてAUPRCを使用したいと思います。auprcなどのカスタマイズされたメトリックを使用するにはどうすればよいですか?

  27. 27

    このSymfony2REST APIチュートリアルでは、ルートの「投稿」パス部分はどこに定義されていますか?

  28. 28

    Debianベースのシステムでは、すでにアンインストールされているパッケージの構成ファイルをどのようにパージしますか?

  29. 29

    Visual Studio 2019でプライベートNugetパッケージレジストリを設定するにはどうすればよいですか?

ホットタグ

アーカイブ