ServiceReceiver interface
- Extends
-
Receiver
Methoden
| abandon(Message, Callback<Message |
|
| complete(Message, Callback<Message |
|
| reject(Message, Callback<Message |
Geerbte Methoden
| add |
Alias für |
| emit<E>(string | symbol, any[]) | Ruft die einzelnen Listener synchron auf, die für das Ereignis mit dem Namen Gibt
|
| event |
Gibt ein Array zurück, das die Ereignisse auflistet, für die der Emitter Listener registriert hat.
|
| get |
Gibt den aktuellen Maximallistenerwert für die |
| listener |
Gibt die Anzahl der Listener zurück, die auf das Ereignis mit dem Namen |
| listeners<E>(string | symbol) | Gibt eine Kopie des Arrays von Listenern für das Ereignis mit dem Namen
|
| off<E>(string | symbol, (args: any[]) => void) | Alias für |
| on("error |
|
| on("message", (msg: Message) => void) | |
| on(string, Function) | |
| once<E>(string | symbol, (args: any[]) => void) | Fügt eine einmalige
Gibt einen Verweis auf die Standardmäßig werden Ereignislistener in der Reihenfolge aufgerufen, in der sie hinzugefügt werden. Die
|
| prepend |
Fügt die
Gibt einen Verweis auf die |
| prepend |
Fügt dem beginnenden des Listenersarrays eine
Gibt einen Verweis auf die |
| raw |
Gibt eine Kopie des Arrays von Listenern für das Ereignis mit dem Namen
|
| remove |
Entfernt alle Listener oder die der angegebenen Es empfiehlt sich, Listener zu entfernen, die an anderer Stelle im Code hinzugefügt wurden, insbesondere, wenn die Gibt einen Verweis auf die |
| remove |
Entfernt die angegebene
Sobald ein Ereignis ausgegeben wird, werden alle listener, die zum Zeitpunkt der Ausstrahlung an sie angefügt sind, in der Reihenfolge aufgerufen. Das bedeutet, dass alle oder
Da Hörer über ein internes Array verwaltet werden, ändert das Aufrufen dieses Hörers die Positionsindizes jedes nach der Entfernung registrierten Listeners. Dies wirkt sich nicht auf die Reihenfolge aus, in der Listener aufgerufen werden. Dies bedeutet jedoch, dass alle Kopien des Listenerarrays, wie sie von der Wenn eine einzelne Funktion mehrmals als Handler für ein einzelnes Ereignis (wie im folgenden Beispiel) hinzugefügt wurde, entfernt
Gibt einen Verweis auf die |
| set |
Standardmäßig druckt Gibt einen Verweis auf die |
| [capture |
Die Methode
|
Details zur Methode
abandon(Message, Callback<MessageAbandoned>)
function abandon(message: Message, done?: Callback<MessageAbandoned>)
Parameter
- message
-
Message
- done
-
Callback<MessageAbandoned>
complete(Message, Callback<MessageCompleted>)
function complete(message: Message, done?: Callback<MessageCompleted>)
Parameter
- message
-
Message
- done
-
Callback<MessageCompleted>
reject(Message, Callback<MessageRejected>)
function reject(message: Message, done?: Callback<MessageRejected>)
Parameter
- message
-
Message
- done
-
Callback<MessageRejected>
Details zur geerbten Methode
addListener<E>(string | symbol, (args: any[]) => void)
Alias für emitter.on(eventName, listener).
function addListener<E>(eventName: string | symbol, listener: (args: any[]) => void): ServiceReceiver
Parameter
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Gibt zurück
Geerbt von Receiver.addListener
emit<E>(string | symbol, any[])
Ruft die einzelnen Listener synchron auf, die für das Ereignis mit dem Namen eventNameregistriert wurden, in der Reihenfolge, in der sie registriert wurden, und übergibt die angegebenen Argumente an jedes Ereignis.
Gibt true zurück, wenn das Ereignis Listener hatte, false andernfalls.
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<E>(eventName: string | symbol, args: any[]): boolean
Parameter
- eventName
-
string | symbol
- args
-
any[]
Gibt zurück
boolean
geerbt von Receiver.emit
eventNames()
Gibt ein Array zurück, das die Ereignisse auflistet, für die der Emitter Listener registriert hat.
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)[]
Gibt zurück
(string | symbol)[]
Geerbt von Receiver.eventNames
getMaxListeners()
Gibt den aktuellen Maximallistenerwert für die EventEmitter zurück, die entweder durch emitter.setMaxListeners(n) oder standardmäßig auf events.defaultMaxListenersfestgelegt ist.
function getMaxListeners(): number
Gibt zurück
number
Geerbt von Receiver.getMaxListeners
listenerCount<E>(string | symbol, (args: any[]) => void)
Gibt die Anzahl der Listener zurück, die auf das Ereignis mit dem Namen eventNamelauschen.
Wenn listener angegeben wird, wird zurückgegeben, wie oft der Listener in der Liste der Listener des Ereignisses gefunden wird.
function listenerCount<E>(eventName: string | symbol, listener?: (args: any[]) => void): number
Parameter
- eventName
-
string | symbol
Der Name des Ereignisses, auf das gewartet wird
- listener
-
(args: any[]) => void
Die Ereignishandlerfunktion
Gibt zurück
number
geerbt von Receiver.listenerCount
listeners<E>(string | symbol)
Gibt eine Kopie des Arrays von Listenern für das Ereignis mit dem Namen eventNamezurück.
server.on('connection', (stream) => {
console.log('someone connected!');
});
console.log(util.inspect(server.listeners('connection')));
// Prints: [ [Function] ]
function listeners<E>(eventName: string | symbol): (args: any[]) => void[]
Parameter
- eventName
-
string | symbol
Gibt zurück
(args: any[]) => void[]
geerbt von Receiver.listeners
off<E>(string | symbol, (args: any[]) => void)
Alias für emitter.removeListener().
function off<E>(eventName: string | symbol, listener: (args: any[]) => void): ServiceReceiver
Parameter
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Gibt zurück
geerbt von Receiver.off
on("errorReceived", (err: Error) => void)
function on(type: "errorReceived", func: (err: Error) => void): ServiceReceiver
Parameter
- type
-
"errorReceived"
- func
-
(err: Error) => void
Gibt zurück
geerbt von Receiver.on
on("message", (msg: Message) => void)
function on(type: "message", func: (msg: Message) => void): ServiceReceiver
Parameter
- type
-
"message"
- func
-
(msg: Message) => void
Gibt zurück
geerbt von Receiver.on
on(string, Function)
function on(type: string, func: Function): ServiceReceiver
Parameter
- type
-
string
- func
-
Function
Gibt zurück
geerbt von Receiver.on
once<E>(string | symbol, (args: any[]) => void)
Fügt eine einmaligelistener-Funktion für das Ereignis mit dem Namen eventNamehinzu. Wenn eventName das nächste Mal ausgelöst wird, wird dieser Listener entfernt und dann aufgerufen.
server.once('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Gibt einen Verweis auf die EventEmitterzurück, sodass Aufrufe verkettet werden können.
Standardmäßig werden Ereignislistener in der Reihenfolge aufgerufen, in der sie hinzugefügt werden. Die emitter.prependOnceListener()-Methode kann als Alternative zum Hinzufügen des Ereignislisteners zum Anfang des Listenersarrays verwendet werden.
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<E>(eventName: string | symbol, listener: (args: any[]) => void): ServiceReceiver
Parameter
- eventName
-
string | symbol
Der Name des Ereignisses.
- listener
-
(args: any[]) => void
Die Rückruffunktion
Gibt zurück
von Receiver geerbt.once
prependListener<E>(string | symbol, (args: any[]) => void)
Fügt die listener-Funktion dem beginnenden des Listenersarrays für das Ereignis mit dem Namen eventNamehinzu. Es werden keine Überprüfungen vorgenommen, um festzustellen, ob die listener bereits hinzugefügt wurde. Mehrere Aufrufe, die dieselbe Kombination aus eventName übergeben, und listener führen dazu, dass die listener mehrmals hinzugefügt und aufgerufen wird.
server.prependListener('connection', (stream) => {
console.log('someone connected!');
});
Gibt einen Verweis auf die EventEmitterzurück, sodass Aufrufe verkettet werden können.
function prependListener<E>(eventName: string | symbol, listener: (args: any[]) => void): ServiceReceiver
Parameter
- eventName
-
string | symbol
Der Name des Ereignisses.
- listener
-
(args: any[]) => void
Die Rückruffunktion
Gibt zurück
geerbt von Receiver.prependListener
prependOnceListener<E>(string | symbol, (args: any[]) => void)
Fügt dem beginnenden des Listenersarrays eine listenereventName Funktion für das Ereignis hinzu, das genannt wird. Wenn eventName das nächste Mal ausgelöst wird, wird dieser Listener entfernt und dann aufgerufen.
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Gibt einen Verweis auf die EventEmitterzurück, sodass Aufrufe verkettet werden können.
function prependOnceListener<E>(eventName: string | symbol, listener: (args: any[]) => void): ServiceReceiver
Parameter
- eventName
-
string | symbol
Der Name des Ereignisses.
- listener
-
(args: any[]) => void
Die Rückruffunktion
Gibt zurück
geerbt von Receiver.prependOnceListener
rawListeners<E>(string | symbol)
Gibt eine Kopie des Arrays von Listenern für das Ereignis mit dem Namen eventNamezurück, einschließlich aller Wrapper (z. B. von .once()erstellt).
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<E>(eventName: string | symbol): (args: any[]) => void[]
Parameter
- eventName
-
string | symbol
Gibt zurück
(args: any[]) => void[]
geerbt von Receiver.rawListeners
removeAllListeners<E>(string | symbol)
Entfernt alle Listener oder die der angegebenen eventName.
Es empfiehlt sich, Listener zu entfernen, die an anderer Stelle im Code hinzugefügt wurden, insbesondere, wenn die EventEmitter Instanz von einer anderen Komponente oder einem anderen Modul (z. B. Sockets oder Dateistreams) erstellt wurde.
Gibt einen Verweis auf die EventEmitterzurück, sodass Aufrufe verkettet werden können.
function removeAllListeners<E>(eventName?: string | symbol): ServiceReceiver
Parameter
- eventName
-
string | symbol
Gibt zurück
geerbt von Receiver.removeAllListeners
removeListener<E>(string | symbol, (args: any[]) => void)
Entfernt die angegebene listener aus dem Listenerarray für das Ereignis mit dem Namen eventName.
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
removeListener() entfernt höchstens eine Instanz eines Listeners aus dem Listenerarray. Wenn ein einzelner Listener mehrmals zum Listenerarray für die angegebene eventNamehinzugefügt wurde, muss removeListener() mehrmals aufgerufen werden, um jede Instanz zu entfernen.
Sobald ein Ereignis ausgegeben wird, werden alle listener, die zum Zeitpunkt der Ausstrahlung an sie angefügt sind, in der Reihenfolge aufgerufen. Das bedeutet, dass alle oder removeListener() Aufrufe removeAllListeners()nach der Ausstrahlung und bevor der letzte Hörer die Ausführung beendet hat, sie nicht aus emit() dem laufenden Ablauf entfernen. Nachfolgende Ereignisse verhalten sich wie erwartet.
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
Da Hörer über ein internes Array verwaltet werden, ändert das Aufrufen dieses Hörers die Positionsindizes jedes nach der Entfernung registrierten Listeners. Dies wirkt sich nicht auf die Reihenfolge aus, in der Listener aufgerufen werden. Dies bedeutet jedoch, dass alle Kopien des Listenerarrays, wie sie von der emitter.listeners()-Methode zurückgegeben werden, neu erstellt werden müssen.
Wenn eine einzelne Funktion mehrmals als Handler für ein einzelnes Ereignis (wie im folgenden Beispiel) hinzugefügt wurde, entfernt removeListener() die zuletzt hinzugefügte Instanz. Im Beispiel wird der once('ping') Listener entfernt:
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');
Gibt einen Verweis auf die EventEmitterzurück, sodass Aufrufe verkettet werden können.
function removeListener<E>(eventName: string | symbol, listener: (args: any[]) => void): ServiceReceiver
Parameter
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Gibt zurück
geerbt von Receiver.removeListener
setMaxListeners(number)
Standardmäßig druckt EventEmitters eine Warnung, wenn für ein bestimmtes Ereignis mehr als 10 Listener hinzugefügt werden. Dies ist ein nützlicher Standardwert, der hilft, Speicherverluste zu finden. Mit der emitter.setMaxListeners()-Methode kann der Grenzwert für diese spezifische EventEmitter Instanz geändert werden. Der Wert kann auf Infinity (oder 0) festgelegt werden, um eine unbegrenzte Anzahl von Listenern anzugeben.
Gibt einen Verweis auf die EventEmitterzurück, sodass Aufrufe verkettet werden können.
function setMaxListeners(n: number): ServiceReceiver
Parameter
- n
-
number
Gibt zurück
geerbt von Receiver.setMaxListeners
[captureRejectionSymbol](Error, string | symbol, any[])
Die Methode Symbol.for('nodejs.rejection') wird aufgerufen, wenn eine Versprechensablehnung beim Aussenden eines Ereignisses auftritt und captureRejections auf dem Emitter aktiviert ist.
Es ist möglich, anstelle von events.captureRejectionSymbolzu verwendenSymbol.for('nodejs.rejection').
import { EventEmitter, captureRejectionSymbol } from 'node:events';
class MyClass extends EventEmitter {
constructor() {
super({ captureRejections: true });
}
[captureRejectionSymbol](err, event, ...args) {
console.log('rejection happened for', event, 'with', err, ...args);
this.destroy(err);
}
destroy(err) {
// Tear the resource down here.
}
}
function [captureRejectionSymbol](error: Error, event: string | symbol, args: any[])
Parameter
- error
-
Error
- event
-
string | symbol
- args
-
any[]
Geerbt von Receiver.__@captureRejectionSymbol@90