オブジェクト組み込みオブジェクト

オブジェクトイベントエミッター

EventEmitter は、オブザーバー パターンを確立するために使用できるイベント トリガー オブジェクトです。イベント トリガーをサポートするオブジェクトはすべて、これを継承します。

イベントがトリガーされると、そのイベントに関連付けられたすべてのリスナーが非同期的に呼び出されます。また、高度にカスタマイズ可能で柔軟なコードを作成することもできます。

一般的に使用される関数には、addListener/on、once、removeListener/off、removeAllListeners、および Emit が含まれます。

サンプルコードは次のとおりです。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
var fs = require('fs'); var EventEmitter = require('events'); var event = new EventEmitter(); event.on('read_file', function(filename) { fs.readFile(filename, 'utf8', function(err, data) { if (err) { event.emit('error', err); return; } event.emit('show_content', data); }); }); event.on('error', function(err) { console.log(`Error ${err}`); }); event.on('show_content', function(content) { console.log(content); }); event.emit('read_file', 'test.txt');

上記のサンプル コードを実行すると、イベント エミッター インスタンス イベントは最初に「read_file」イベントをリッスンし、次にイベントがトリガーされるとevent.emit('read_file', 'test.txt')ファイルの読み取り操作をトリガーします( )。読み込みが成功すると「show_content」イベントがトリガーされ、このとき「show_content」イベントをリッスンした関数が実行され、ファイルの内容が表示されます。ファイルの読み取り中にエラーが発生した場合、「error」イベントがトリガーされ、操作の失敗が処理されます。

このモデルは、非同期操作を扱うビジネス シナリオにおいて大きな利点があります。

相続関係

%0 object object toString() toJSON() EventEmitter EventEmitter new EventEmitter() EventEmitter defaultMaxListeners on() addListener() prependListener() once() prependOnceListener() off() removeListener() removeAllListeners() setMaxListeners() getMaxListeners() listeners() listenerCount() eventNames() emit() object->EventEmitter ChildProcess ChildProcess EventEmitter->ChildProcess DgramSocket DgramSocket EventEmitter->DgramSocket FSWatcher FSWatcher EventEmitter->FSWatcher LruCache LruCache EventEmitter->LruCache Service Service EventEmitter->Service StatsWatcher StatsWatcher EventEmitter->StatsWatcher WebSocket WebSocket EventEmitter->WebSocket WebView WebView EventEmitter->WebView Worker Worker EventEmitter->Worker

コンストラクタ

EventEmitter

コンストラクタ

1
new EventEmitter();

物体

イベントトリガーオブジェクト

1
EventEmitter new EventEmitter;

静的プロパティ

defaultMaxListeners

整数、デフォルトのグローバル最大リスナー数

1
static Integer EventEmitter.defaultMaxListeners;

メンバー関数

on

イベントハンドラーをオブジェクトにバインドする

1 2
Object EventEmitter.on(String ev, Function func);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します
  • func: 関数、イベント処理関数を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

イベントハンドラーをオブジェクトにバインドする

1
Object EventEmitter.on(Object map);

呼び出しパラメータ:

  • map: オブジェクト。イベント マッピング関係を指定します。オブジェクトの属性名はイベント名として使用され、属性の値はイベント処理関数として使用されます。

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

addListener

イベントハンドラーをオブジェクトにバインドする

1 2
Object EventEmitter.addListener(String ev, Function func);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します
  • func: 関数、イベント処理関数を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

イベントハンドラーをオブジェクトにバインドする

1
Object EventEmitter.addListener(Object map);

呼び出しパラメータ:

  • map: オブジェクト。イベント マッピング関係を指定します。オブジェクトの属性名はイベント名として使用され、属性の値はイベント処理関数として使用されます。

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

prependListener

イベントハンドラーをオブジェクトのオリジンにバインドする

1 2
Object EventEmitter.prependListener(String ev, Function func);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します
  • func: 関数、イベント処理関数を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

イベントハンドラーをオブジェクトのオリジンにバインドする

1
Object EventEmitter.prependListener(Object map);

呼び出しパラメータ:

  • map: オブジェクト。イベント マッピング関係を指定します。オブジェクトの属性名はイベント名として使用され、属性の値はイベント処理関数として使用されます。

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

once

ワンタイム イベント ハンドラーをオブジェクトにバインドします。ワンタイム ハンドラーは 1 回だけトリガーされます。

1 2
Object EventEmitter.once(String ev, Function func);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します
  • func: 関数、イベント処理関数を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

ワンタイム イベント ハンドラーをオブジェクトにバインドします。ワンタイム ハンドラーは 1 回だけトリガーされます。

1
Object EventEmitter.once(Object map);

呼び出しパラメータ:

  • map: オブジェクト。イベント マッピング関係を指定します。オブジェクトの属性名はイベント名として使用され、属性の値はイベント処理関数として使用されます。

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

prependOnceListener

イベントハンドラーをオブジェクトのオリジンにバインドする

1 2
Object EventEmitter.prependOnceListener(String ev, Function func);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します
  • func: 関数、イベント処理関数を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

イベントハンドラーをオブジェクトのオリジンにバインドする

1
Object EventEmitter.prependOnceListener(Object map);

呼び出しパラメータ:

  • map: オブジェクト。イベント マッピング関係を指定します。オブジェクトの属性名はイベント名として使用され、属性の値はイベント処理関数として使用されます。

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

off

オブジェクト処理キューから関数の割り当てを解除する

1 2
Object EventEmitter.off(String ev, Function func);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します
  • func: 関数、イベント処理関数を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

オブジェクト処理キュー内のすべての関数をキャンセルします

1
Object EventEmitter.off(String ev);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

オブジェクト処理キューから関数の割り当てを解除する

1
Object EventEmitter.off(Object map);

呼び出しパラメータ:

  • map: オブジェクト。イベントのマッピング関係を指定します。オブジェクトの属性名はイベント名として使用され、属性の値はイベント処理関数として使用されます。

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

removeListener

オブジェクト処理キューから関数の割り当てを解除する

1 2
Object EventEmitter.removeListener(String ev, Function func);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します
  • func: 関数、イベント処理関数を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

オブジェクト処理キュー内のすべての関数をキャンセルします

1
Object EventEmitter.removeListener(String ev);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

オブジェクト処理キューから関数の割り当てを解除する

1
Object EventEmitter.removeListener(Object map);

呼び出しパラメータ:

  • map: オブジェクト。イベントのマッピング関係を指定します。オブジェクトの属性名はイベント名として使用され、属性の値はイベント処理関数として使用されます。

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

removeAllListeners

オブジェクトの処理キューからすべてのイベントのすべてのリスナーをキャンセルします。イベントが指定されている場合は、指定されたイベントのすべてのリスナーが削除されます。

1
Object EventEmitter.removeAllListeners(String ev);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

オブジェクトの処理キューからすべてのイベントのすべてのリスナーをキャンセルします。イベントが指定されている場合は、指定されたイベントのすべてのリスナーが削除されます。

1
Object EventEmitter.removeAllListeners(Array evs = []);

呼び出しパラメータ:

  • evs: 配列、イベントの名前を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

setMaxListeners

リスナー数のデフォルト制限 (互換性のみを目的)

1
EventEmitter.setMaxListeners(Integer n);

呼び出しパラメータ:

  • n: 整数、イベントの数を指定します

getMaxListeners

互換性のみを目的として、デフォルトのリスナー制限数を取得します。

1
Integer EventEmitter.getMaxListeners();

返される結果:

  • Integer、デフォルトの制限数量を返します

listeners

オブジェクトの指定されたイベントについてリスナー配列をクエリします。

1
Array EventEmitter.listeners(String ev);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します

返される結果:

  • Array、指定されたイベントのリスナー配列を返します。

listenerCount

オブジェクトの指定されたイベントのリスナーの数をクエリします。

1
Integer EventEmitter.listenerCount(String ev);

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します

返される結果:

  • Integer、指定されたイベントのリスナーの数を返します。

オブジェクトの指定されたイベントのリスナーの数をクエリします。

1 2
Integer EventEmitter.listenerCount(Value o, String ev);

呼び出しパラメータ:

  • o: 値。クエリのオブジェクトを指定します。
  • ev: 文字列、イベントの名前を指定します

返される結果:

  • Integer、指定されたイベントのリスナーの数を返します。

eventNames

クエリリスナーイベント名

1
Array EventEmitter.eventNames();

返される結果:

  • Array、イベント名の配列を返します。

emit

イベントをアクティブにトリガーする

1 2
Boolean EventEmitter.emit(String ev, ...args);

呼び出しパラメータ:

  • ev: 文字列、イベント名
  • args: ...、イベントパラメータはイベント処理関数に渡されます

返される結果:

  • Boolean、イベント トリガーのステータスを返し、応答イベントがある場合は true を返し、それ以外の場合は false を返します。

toString

オブジェクトの文字列表現を返します。通常、「[Native Object]」が返されます。オブジェクトは、独自の特性に従って再実装できます。

1
String EventEmitter.toString();

返される結果:

  • String、オブジェクトの文字列表現を返します。

toJSON

オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能なプロパティのコレクションを返します。

1
Value EventEmitter.toJSON(String key = "");

呼び出しパラメータ:

  • key: 文字列、使用されません

返される結果:

  • Value、シリアル化可能な JSON を含む値を返します