ServiceReceiver interface
- Uitbreiding
-
Receiver
Methoden
abandon(Message, Callback<Message |
|
complete(Message, Callback<Message |
|
reject(Message, Callback<Message |
Overgenomen methoden
add |
Alias voor |
emit<K>(string | symbol, Any |
Roept synchroon elk van de listeners aan die zijn geregistreerd voor de gebeurtenis met de naam Retourneert
|
event |
Retourneert een matrix met de gebeurtenissen waarvoor de emitter listeners heeft geregistreerd. De waarden in de matrix zijn tekenreeksen of
|
get |
Retourneert de huidige maximum-listenerwaarde voor de |
listener |
Retourneert het aantal listeners dat luistert naar de gebeurtenis met de naam |
listeners<K>(string | symbol) | Retourneert een kopie van de matrix van listeners voor de gebeurtenis met de naam
|
off<K>(string | symbol, (args: any[]) => void) | Alias voor |
on("error |
|
on("message", (msg: Message) => void) | |
on(string, Function) | |
once<K>(string | symbol, (args: any[]) => void) | Hiermee voegt u een eenmalige
Retourneert een verwijzing naar de Gebeurtenislisteners worden standaard aangeroepen in de volgorde waarin ze worden toegevoegd. De methode
|
prepend |
Hiermee voegt u de functie
Retourneert een verwijzing naar de |
prepend |
Hiermee voegt u een eenmalige
Retourneert een verwijzing naar de |
raw |
Retourneert een kopie van de matrix van listeners voor de gebeurtenis met de naam
|
remove |
Hiermee verwijdert u alle listeners of de listeners van de opgegeven Het is slecht om listeners te verwijderen die ergens anders in de code zijn toegevoegd, met name wanneer het Retourneert een verwijzing naar de |
remove |
Hiermee verwijdert u de opgegeven
Zodra een gebeurtenis is verzonden, worden alle listeners die eraan zijn gekoppeld op het moment van verzenden in volgorde aangeroepen. Dit impliceert dat alle
Omdat listeners worden beheerd met behulp van een interne matrix, worden de positieindexen van alle geregistreerde listener-gewijzigd nadat de listener wordt verwijderd. Dit heeft geen invloed op de volgorde waarin listeners worden aangeroepen, maar dit betekent dat kopieën van de listenermatrix die worden geretourneerd door de methode Wanneer één functie meerdere keren is toegevoegd als handler voor één gebeurtenis (zoals in het onderstaande voorbeeld), verwijdert
Retourneert een verwijzing naar de |
set |
Standaard worden Retourneert een verwijzing naar de |
[capture |
Methodedetails
abandon(Message, Callback<MessageAbandoned>)
function abandon(message: Message, done?: Callback<MessageAbandoned>)
Parameters
- message
-
Message
- done
-
Callback<MessageAbandoned>
complete(Message, Callback<MessageCompleted>)
function complete(message: Message, done?: Callback<MessageCompleted>)
Parameters
- message
-
Message
- done
-
Callback<MessageCompleted>
reject(Message, Callback<MessageRejected>)
function reject(message: Message, done?: Callback<MessageRejected>)
Parameters
- message
-
Message
- done
-
Callback<MessageRejected>
Details overgenomen methode
addListener<K>(string | symbol, (args: any[]) => void)
Alias voor emitter.on(eventName, listener)
.
function addListener<K>(eventName: string | symbol, listener: (args: any[]) => void): ServiceReceiver
Parameters
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Retouren
overgenomen van Receiver.addListener
emit<K>(string | symbol, AnyRest)
Roept synchroon elk van de listeners aan die zijn geregistreerd voor de gebeurtenis met de naam eventName
, in de volgorde waarin ze zijn geregistreerd, waarbij de opgegeven argumenten aan elk item worden doorgegeven.
Retourneert true
als de gebeurtenis listeners had, anders 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
Parameters
- eventName
-
string | symbol
- args
-
AnyRest
Retouren
boolean
overgenomen van receiver.emit
eventNames()
Retourneert een matrix met de gebeurtenissen waarvoor de emitter listeners heeft geregistreerd. De waarden in de matrix zijn tekenreeksen of Symbol
s.
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)[]
Retouren
(string | symbol)[]
overgenomen van Receiver.eventNames
getMaxListeners()
Retourneert de huidige maximum-listenerwaarde voor de EventEmitter
die is ingesteld door emitter.setMaxListeners(n)
of standaard ingesteld op defaultMaxListeners.
function getMaxListeners(): number
Retouren
number
overgenomen van Receiver.getMaxListeners
listenerCount<K>(string | symbol, Function)
Retourneert het aantal listeners dat luistert naar de gebeurtenis met de naam eventName
.
Als listener
wordt opgegeven, wordt geretourneerd hoe vaak de listener wordt gevonden in de lijst met listeners van de gebeurtenis.
function listenerCount<K>(eventName: string | symbol, listener?: Function): number
Parameters
- eventName
-
string | symbol
De naam van de gebeurtenis die wordt geluisterd
- listener
-
Function
De functie gebeurtenis-handler
Retouren
number
overgenomen van Receiver.listenerCount
listeners<K>(string | symbol)
Retourneert een kopie van de matrix van listeners voor de gebeurtenis met de naam 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[]
Parameters
- eventName
-
string | symbol
Retouren
Function[]
overgenomen van Receiver.listeners
off<K>(string | symbol, (args: any[]) => void)
Alias voor emitter.removeListener()
.
function off<K>(eventName: string | symbol, listener: (args: any[]) => void): ServiceReceiver
Parameters
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Retouren
overgenomen van ontvanger.uit
on("errorReceived", (err: Error) => void)
function on(type: "errorReceived", func: (err: Error) => void): ServiceReceiver
Parameters
- type
-
"errorReceived"
- func
-
(err: Error) => void
Retouren
overgenomen van ontvanger.on
on("message", (msg: Message) => void)
function on(type: "message", func: (msg: Message) => void): ServiceReceiver
Parameters
- type
-
"message"
- func
-
(msg: Message) => void
Retouren
overgenomen van ontvanger.on
on(string, Function)
function on(type: string, func: Function): ServiceReceiver
Parameters
- type
-
string
- func
-
Function
Retouren
overgenomen van ontvanger.on
once<K>(string | symbol, (args: any[]) => void)
Hiermee voegt u een eenmaligeeventName
wordt geactiveerd, wordt deze listener verwijderd en vervolgens aangeroepen.
server.once('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Retourneert een verwijzing naar de EventEmitter
, zodat aanroepen kunnen worden gekoppeld.
Gebeurtenislisteners worden standaard aangeroepen in de volgorde waarin ze worden toegevoegd. De methode emitter.prependOnceListener()
kan worden gebruikt als alternatief om de gebeurtenislistener toe te voegen aan het begin van de listenersmatrix.
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): ServiceReceiver
Parameters
- eventName
-
string | symbol
De naam van de gebeurtenis.
- listener
-
(args: any[]) => void
De callback-functie
Retouren
overgenomen van ontvanger.één keer
prependListener<K>(string | symbol, (args: any[]) => void)
Hiermee voegt u de functie listener
toe aan de die begint van de listenersmatrix voor de gebeurtenis met de naam eventName
. Er worden geen controles uitgevoerd om te zien of de listener
al is toegevoegd. Meerdere aanroepen die dezelfde combinatie van eventName
doorgeven en listener
leiden ertoe dat de listener
meerdere keren wordt toegevoegd en aangeroepen.
server.prependListener('connection', (stream) => {
console.log('someone connected!');
});
Retourneert een verwijzing naar de EventEmitter
, zodat aanroepen kunnen worden gekoppeld.
function prependListener<K>(eventName: string | symbol, listener: (args: any[]) => void): ServiceReceiver
Parameters
- eventName
-
string | symbol
De naam van de gebeurtenis.
- listener
-
(args: any[]) => void
De callback-functie
Retouren
overgenomen van Receiver.prependListener
prependOnceListener<K>(string | symbol, (args: any[]) => void)
Hiermee voegt u een eenmaligelistener
functie toe voor de gebeurtenis met de naam eventName
aan de die begint van de listenersmatrix. De volgende keer dat eventName
wordt geactiveerd, wordt deze listener verwijderd en vervolgens aangeroepen.
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Retourneert een verwijzing naar de EventEmitter
, zodat aanroepen kunnen worden gekoppeld.
function prependOnceListener<K>(eventName: string | symbol, listener: (args: any[]) => void): ServiceReceiver
Parameters
- eventName
-
string | symbol
De naam van de gebeurtenis.
- listener
-
(args: any[]) => void
De callback-functie
Retouren
overgenomen van Receiver.prependOnceListener
rawListeners<K>(string | symbol)
Retourneert een kopie van de matrix van listeners voor de gebeurtenis met de naam eventName
, inclusief eventuele wrappers (zoals die zijn gemaakt door .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[]
Parameters
- eventName
-
string | symbol
Retouren
Function[]
overgenomen van Receiver.rawListeners
removeAllListeners(string | symbol)
Hiermee verwijdert u alle listeners of de listeners van de opgegeven eventName
.
Het is slecht om listeners te verwijderen die ergens anders in de code zijn toegevoegd, met name wanneer het EventEmitter
exemplaar is gemaakt door een ander onderdeel of een andere module (bijvoorbeeld sockets of bestandsstromen).
Retourneert een verwijzing naar de EventEmitter
, zodat aanroepen kunnen worden gekoppeld.
function removeAllListeners(eventName?: string | symbol): ServiceReceiver
Parameters
- eventName
-
string | symbol
Retouren
overgenomen van Receiver.removeAllListeners
removeListener<K>(string | symbol, (args: any[]) => void)
Hiermee verwijdert u de opgegeven listener
uit de listenermatrix voor de gebeurtenis met de naam eventName
.
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
removeListener()
verwijdert maximaal één exemplaar van een listener uit de listenermatrix. Als er meerdere keren één listener is toegevoegd aan de listenermatrix voor de opgegeven eventName
, moet removeListener()
meerdere keren worden aangeroepen om elk exemplaar te verwijderen.
Zodra een gebeurtenis is verzonden, worden alle listeners die eraan zijn gekoppeld op het moment van verzenden in volgorde aangeroepen. Dit impliceert dat alle removeListener()
of removeAllListeners()
aanroepen nadat verzenden en voordat de laatste listener de uitvoering heeft voltooid, deze niet uitemit()
worden verwijderd. Volgende gebeurtenissen gedragen zich zoals verwacht.
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
Omdat listeners worden beheerd met behulp van een interne matrix, worden de positieindexen van alle geregistreerde listener-gewijzigd nadat de listener wordt verwijderd. Dit heeft geen invloed op de volgorde waarin listeners worden aangeroepen, maar dit betekent dat kopieën van de listenermatrix die worden geretourneerd door de methode emitter.listeners()
opnieuw moeten worden gemaakt.
Wanneer één functie meerdere keren is toegevoegd als handler voor één gebeurtenis (zoals in het onderstaande voorbeeld), verwijdert removeListener()
het laatst toegevoegde exemplaar. In het voorbeeld wordt de once('ping')
listener verwijderd:
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');
Retourneert een verwijzing naar de EventEmitter
, zodat aanroepen kunnen worden gekoppeld.
function removeListener<K>(eventName: string | symbol, listener: (args: any[]) => void): ServiceReceiver
Parameters
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Retouren
overgenomen van Receiver.removeListener
setMaxListeners(number)
Standaard worden EventEmitter
s een waarschuwing afgedrukt als er meer dan 10
listeners worden toegevoegd voor een bepaalde gebeurtenis. Dit is een nuttige standaardinstelling waarmee geheugenlekken kunnen worden gevonden. Met de methode emitter.setMaxListeners()
kan de limiet voor dit specifieke EventEmitter
exemplaar worden gewijzigd. De waarde kan worden ingesteld op Infinity
(of 0
) om een onbeperkt aantal listeners aan te geven.
Retourneert een verwijzing naar de EventEmitter
, zodat aanroepen kunnen worden gekoppeld.
function setMaxListeners(n: number): ServiceReceiver
Parameters
- n
-
number
Retouren
overgenomen van Receiver.setMaxListeners
[captureRejectionSymbol]<K>(Error, string | symbol, AnyRest)
function [captureRejectionSymbol]<K>(error: Error, event: string | symbol, args: AnyRest)
Parameters
- error
-
Error
- event
-
string | symbol
- args
-
AnyRest
overgenomen van Receiver.__@captureRejectionSymbol@118