Receiver interface
- Extends
-
EventEmitter
メソッド
on("error |
|
on("message", (msg: Message) => void) | |
on(string, Function) |
継承されたメソッド
add |
の |
emit<K>(string | symbol, Any |
という名前 イベントに
|
event |
エミッタにリスナーが登録されているイベントを一覧表示する配列を返します。 配列内の値は文字列または
|
get |
によって |
listener |
という名前 |
listeners<K>(string | symbol) | という名前
|
off<K>(string | symbol, (args: any[]) => void) | の |
once<K>(string | symbol, (args: any[]) => void) | という名前
呼び出しをチェーンできるように、 への 既定では、イベント リスナーは追加された順序で呼び出されます。 メソッドは
|
prepend |
という名前
呼び出しをチェーンできるように、 への |
prepend |
という名前
呼び出しをチェーンできるように、 への |
raw |
という名前
|
remove |
すべてのリスナー、または指定した のリスナーを削除します 特に、インスタンスが他のコンポーネントまたはモジュール (ソケットやファイル ストリームなど) によって作成された場合 呼び出しをチェーンできるように、 への |
remove |
という名前
イベントが生成されると、生成時にそれにアタッチされたすべてのリスナーが順番に呼び出されます。 これは、出力後と最後の
リスナーは内部配列を使用して管理されるため、これを呼び出すと、リスナーが削除された 後 に登録されたすべてのリスナーの位置インデックスが変更されます。 これはリスナーが呼び出される順序には影響しませんが、メソッドによって (次の例のように) 1 つのイベントに対して 1 つの関数がハンドラーとして複数回追加されると、
呼び出しをチェーンできるように、 への |
set |
既定 呼び出しをチェーンできるように、 への |
[capture |
メソッドの詳細
on("errorReceived", (err: Error) => void)
function on(type: "errorReceived", func: (err: Error) => void): Receiver
パラメーター
- type
-
"errorReceived"
- func
-
(err: Error) => void
戻り値
on("message", (msg: Message) => void)
function on(type: "message", func: (msg: Message) => void): Receiver
パラメーター
- type
-
"message"
- func
-
(msg: Message) => void
戻り値
on(string, Function)
継承済みメソッドの詳細
addListener<K>(string | symbol, (args: any[]) => void)
の emitter.on(eventName, listener)
エイリアス。
function addListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Receiver
パラメーター
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
戻り値
継承元 EventEmitter.addListener
emit<K>(string | symbol, AnyRest)
という名前 eventName
のイベントに登録されている各リスナーを、登録された順序で同期的に呼び出し、指定された引数をそれぞれに渡します。
イベントに true
リスナーがある場合は を返します。それ以外の場合は を返します false
。
import { EventEmitter } from 'node:events';
const myEmitter = new EventEmitter();
// First listener
myEmitter.on('event', function firstListener() {
console.log('Helloooo! first listener');
});
// Second listener
myEmitter.on('event', function secondListener(arg1, arg2) {
console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
});
// Third listener
myEmitter.on('event', function thirdListener(...args) {
const parameters = args.join(', ');
console.log(`event with parameters ${parameters} in third listener`);
});
console.log(myEmitter.listeners('event'));
myEmitter.emit('event', 1, 2, 3, 4, 5);
// Prints:
// [
// [Function: firstListener],
// [Function: secondListener],
// [Function: thirdListener]
// ]
// Helloooo! first listener
// event with parameters 1, 2 in second listener
// event with parameters 1, 2, 3, 4, 5 in third listener
function emit<K>(eventName: string | symbol, args: AnyRest): boolean
パラメーター
- eventName
-
string | symbol
- args
-
AnyRest
戻り値
boolean
継承元 EventEmitter.emit
eventNames()
エミッタにリスナーが登録されているイベントを一覧表示する配列を返します。 配列内の値は文字列または Symbol
文字列です。
import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.on('foo', () => {});
myEE.on('bar', () => {});
const sym = Symbol('symbol');
myEE.on(sym, () => {});
console.log(myEE.eventNames());
// Prints: [ 'foo', 'bar', Symbol(symbol) ]
function eventNames(): (string | symbol)[]
戻り値
(string | symbol)[]
継承元 EventEmitter.eventNames
getMaxListeners()
によってemitter.setMaxListeners(n)
設定されているか、既定値が に設定されている のEventEmitter
現在の最大リスナー値を<xref:defaultMaxListeners>返します。
function getMaxListeners(): number
戻り値
number
継承元 EventEmitter.getMaxListeners
listenerCount<K>(string | symbol, Function)
という名前 eventName
のイベントをリッスンしているリスナーの数を返します。
が指定されている場合 listener
、イベントのリスナーの一覧でリスナーが見つかった回数が返されます。
function listenerCount<K>(eventName: string | symbol, listener?: Function): number
パラメーター
- eventName
-
string | symbol
リッスンするイベントの名前
- listener
-
Function
イベント ハンドラー関数
戻り値
number
継承元 EventEmitter.listenerCount
listeners<K>(string | symbol)
という名前 eventName
のイベントのリスナーの配列のコピーを返します。
server.on('connection', (stream) => {
console.log('someone connected!');
});
console.log(util.inspect(server.listeners('connection')));
// Prints: [ [Function] ]
function listeners<K>(eventName: string | symbol): Function[]
パラメーター
- eventName
-
string | symbol
戻り値
Function[]
継承元 EventEmitter.listeners
off<K>(string | symbol, (args: any[]) => void)
の emitter.removeListener()
エイリアス。
function off<K>(eventName: string | symbol, listener: (args: any[]) => void): Receiver
パラメーター
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
戻り値
継承元 EventEmitter.off
once<K>(string | symbol, (args: any[]) => void)
という名前eventName
のイベントの 1 回listener
限りの関数を追加します。 次回トリガーされると eventName
、このリスナーが削除され、呼び出されます。
server.once('connection', (stream) => {
console.log('Ah, we have our first user!');
});
呼び出しをチェーンできるように、 への EventEmitter
参照を返します。
既定では、イベント リスナーは追加された順序で呼び出されます。 メソッドは emitter.prependOnceListener()
、リスナー配列の先頭にイベント リスナーを追加する代わりに使用できます。
import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.once('foo', () => console.log('a'));
myEE.prependOnceListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
// b
// a
function once<K>(eventName: string | symbol, listener: (args: any[]) => void): Receiver
パラメーター
- eventName
-
string | symbol
イベントの名前です。
- listener
-
(args: any[]) => void
コールバック関数
戻り値
継承元 EventEmitter.once
prependListener<K>(string | symbol, (args: any[]) => void)
という名前eventName
のlistener
イベントのリスナー配列の先頭に関数を追加します。 が既に追加されているかどうかを確認 listener
するためのチェックは行われません。 と の同じ組み合わせを渡す複数のeventName
listener
呼び出しではlistener
、 が複数回追加され、呼び出されます。
server.prependListener('connection', (stream) => {
console.log('someone connected!');
});
呼び出しをチェーンできるように、 への EventEmitter
参照を返します。
function prependListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Receiver
パラメーター
- eventName
-
string | symbol
イベントの名前です。
- listener
-
(args: any[]) => void
コールバック関数
戻り値
継承元 EventEmitter.prependListener
prependOnceListener<K>(string | symbol, (args: any[]) => void)
という名前eventName
のイベントの 1 回listener
限りの関数をリスナー配列の先頭に追加します。 次回 eventName
トリガーされると、このリスナーが削除され、呼び出されます。
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});
呼び出しをチェーンできるように、 への EventEmitter
参照を返します。
function prependOnceListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Receiver
パラメーター
- eventName
-
string | symbol
イベントの名前です。
- listener
-
(args: any[]) => void
コールバック関数
戻り値
継承元 EventEmitter.prependOnceListener
rawListeners<K>(string | symbol)
という名前 eventName
のイベントのリスナーの配列のコピーを返します。これには、ラッパー (によって .once()
作成されたものなど) が含まれます。
import { EventEmitter } from 'node:events';
const emitter = new EventEmitter();
emitter.once('log', () => console.log('log once'));
// Returns a new Array with a function `onceWrapper` which has a property
// `listener` which contains the original listener bound above
const listeners = emitter.rawListeners('log');
const logFnWrapper = listeners[0];
// Logs "log once" to the console and does not unbind the `once` event
logFnWrapper.listener();
// Logs "log once" to the console and removes the listener
logFnWrapper();
emitter.on('log', () => console.log('log persistently'));
// Will return a new Array with a single function bound by `.on()` above
const newListeners = emitter.rawListeners('log');
// Logs "log persistently" twice
newListeners[0]();
emitter.emit('log');
function rawListeners<K>(eventName: string | symbol): Function[]
パラメーター
- eventName
-
string | symbol
戻り値
Function[]
継承元 EventEmitter.rawListeners
removeAllListeners(string | symbol)
すべてのリスナー、または指定した のリスナーを削除します eventName
。
特に、インスタンスが他のコンポーネントまたはモジュール (ソケットやファイル ストリームなど) によって作成された場合 EventEmitter
に、コード内の他の場所に追加されたリスナーを削除するのは不適切な方法です。
呼び出しをチェーンできるように、 への EventEmitter
参照を返します。
function removeAllListeners(eventName?: string | symbol): Receiver
パラメーター
- eventName
-
string | symbol
戻り値
継承元 EventEmitter.removeAllListeners
removeListener<K>(string | symbol, (args: any[]) => void)
という名前eventName
のイベントのリスナー配列から指定された listener
を削除します。
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
removeListener()
では、リスナー配列からリスナーのインスタンスが最大で 1 つ削除されます。 指定した eventName
のリスナー配列に 1 つのリスナーが複数回追加されている場合は、 removeListener()
各インスタンスを削除するために複数回呼び出す必要があります。
イベントが生成されると、生成時にそれにアタッチされたすべてのリスナーが順番に呼び出されます。 これは、出力後と最後のremoveListener()
リスナーの実行が完了する前に または removeAllListeners()
を呼び出しても、進行中からemit()
削除されないことを意味します。 後続のイベントは想定どおりに動作します。
import { EventEmitter } from 'node:events';
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
const callbackA = () => {
console.log('A');
myEmitter.removeListener('event', callbackB);
};
const callbackB = () => {
console.log('B');
};
myEmitter.on('event', callbackA);
myEmitter.on('event', callbackB);
// callbackA removes listener callbackB but it will still be called.
// Internal listener array at time of emit [callbackA, callbackB]
myEmitter.emit('event');
// Prints:
// A
// B
// callbackB is now removed.
// Internal listener array [callbackA]
myEmitter.emit('event');
// Prints:
// A
リスナーは内部配列を使用して管理されるため、これを呼び出すと、リスナーが削除された 後 に登録されたすべてのリスナーの位置インデックスが変更されます。 これはリスナーが呼び出される順序には影響しませんが、メソッドによって emitter.listeners()
返されるリスナー配列のコピーを再作成する必要があることを意味します。
(次の例のように) 1 つのイベントに対して 1 つの関数がハンドラーとして複数回追加されると、 removeListener()
最後に追加されたインスタンスが削除されます。 この例では、 once('ping')
リスナーは削除されます。
import { EventEmitter } from 'node:events';
const ee = new EventEmitter();
function pong() {
console.log('pong');
}
ee.on('ping', pong);
ee.once('ping', pong);
ee.removeListener('ping', pong);
ee.emit('ping');
ee.emit('ping');
呼び出しをチェーンできるように、 への EventEmitter
参照を返します。
function removeListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Receiver
パラメーター
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
戻り値
継承元 EventEmitter.removeListener
setMaxListeners(number)
既定 EventEmitter
では、 は、特定のイベントに対して複数のリスナーが追加された場合 10
に警告を出力します。 これは、メモリ リークの検出に役立つ便利な既定値です。 メソッドを emitter.setMaxListeners()
使用すると、この特定 EventEmitter
のインスタンスの制限を変更できます。 リスナーの数を無制限に Infinity
示すには、値を (または 0
) に設定できます。
呼び出しをチェーンできるように、 への EventEmitter
参照を返します。
function setMaxListeners(n: number): Receiver
パラメーター
- n
-
number
戻り値
継承元 EventEmitter.setMaxListeners
[captureRejectionSymbol]<K>(Error, string | symbol, AnyRest)
function [captureRejectionSymbol]<K>(error: Error, event: string | symbol, args: AnyRest)
パラメーター
- error
-
Error
- event
-
string | symbol
- args
-
AnyRest
継承元 EventEmitter.__@captureRejectionSymbol@91