ServiceReceiver interface
- Rozszerzenie
-
Receiver
Metody
abandon(Message, Callback<Message |
|
complete(Message, Callback<Message |
|
reject(Message, Callback<Message |
Metody dziedziczone
add |
Alias dla |
emit<K>(string | symbol, Any |
Synchronicznie wywołuje każdy odbiornik zarejestrowany dla zdarzenia o nazwie Zwraca
|
event |
Zwraca tablicę z listą zdarzeń, dla których emiter zarejestrował odbiorniki. Wartości w tablicy to ciągi lub
|
get |
Zwraca bieżącą wartość maksymalnego odbiornika dla |
listener |
Zwraca liczbę odbiorników nasłuchujących zdarzenia o nazwie |
listeners<K>(string | symbol) | Zwraca kopię tablicy odbiorników dla zdarzenia o nazwie
|
off<K>(string | symbol, (args: any[]) => void) | Alias dla |
on("error |
|
on("message", (msg: Message) => void) | |
on(string, Function) | |
once<K>(string | symbol, (args: any[]) => void) | Dodaje funkcję jednorazową
Zwraca odwołanie do Domyślnie odbiorniki zdarzeń są wywoływane w kolejności, w której są dodawane. Metodę
|
prepend |
Dodaje funkcję
Zwraca odwołanie do |
prepend |
Dodaje funkcję jednorazową
Zwraca odwołanie do |
raw |
Zwraca kopię tablicy odbiorników dla zdarzenia o nazwie
|
remove |
Usuwa wszystkie odbiorniki lub te z określonych Źle jest usunąć odbiorniki dodane gdzie indziej w kodzie, szczególnie w przypadku utworzenia wystąpienia Zwraca odwołanie do |
remove |
Usuwa określone
Po emitowaniu zdarzenia wszystkie odbiorniki dołączone do niego w momencie emitowania są wywoływane w kolejności. Oznacza to, że wszystkie wywołania
Ponieważ odbiorniki są zarządzane przy użyciu tablicy wewnętrznej, wywołanie spowoduje zmianę indeksów pozycji dowolnego odbiornika zarejestrowanego po usunięcia odbiornika. Nie będzie to miało wpływu na kolejność wywoływanych odbiorników, ale oznacza to, że wszystkie kopie tablicy odbiorników zwrócone przez metodę Gdy pojedyncza funkcja została dodana jako procedura obsługi wiele razy dla pojedynczego zdarzenia (jak w poniższym przykładzie),
Zwraca odwołanie do |
set |
Domyślnie Zwraca odwołanie do |
[capture |
Szczegóły metody
abandon(Message, Callback<MessageAbandoned>)
function abandon(message: Message, done?: Callback<MessageAbandoned>)
Parametry
- message
-
Message
- done
-
Callback<MessageAbandoned>
complete(Message, Callback<MessageCompleted>)
function complete(message: Message, done?: Callback<MessageCompleted>)
Parametry
- message
-
Message
- done
-
Callback<MessageCompleted>
reject(Message, Callback<MessageRejected>)
function reject(message: Message, done?: Callback<MessageRejected>)
Parametry
- message
-
Message
- done
-
Callback<MessageRejected>
Szczegóły metody dziedziczonej
addListener<K>(string | symbol, (args: any[]) => void)
Alias dla emitter.on(eventName, listener)
.
function addListener<K>(eventName: string | symbol, listener: (args: any[]) => void): ServiceReceiver
Parametry
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Zwraca
dziedziczone z odbiornika.addListener
emit<K>(string | symbol, AnyRest)
Synchronicznie wywołuje każdy odbiornik zarejestrowany dla zdarzenia o nazwie eventName
, w kolejności, w której zostały zarejestrowane, przekazując podane argumenty do każdego.
Zwraca true
, jeśli zdarzenie miało odbiorniki, false
w przeciwnym razie.
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
Parametry
- eventName
-
string | symbol
- args
-
AnyRest
Zwraca
boolean
dziedziczone z odbiornika.emit
eventNames()
Zwraca tablicę z listą zdarzeń, dla których emiter zarejestrował odbiorniki. Wartości w tablicy to ciągi lub 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)[]
Zwraca
(string | symbol)[]
dziedziczone z Receiver.eventNames
getMaxListeners()
Zwraca bieżącą wartość maksymalnego odbiornika dla EventEmitter
, która jest ustawiona przez emitter.setMaxListeners(n)
lub domyślnie ma wartość defaultMaxListeners.
function getMaxListeners(): number
Zwraca
number
dziedziczone z odbiornika.getMaxListeners
listenerCount<K>(string | symbol, Function)
Zwraca liczbę odbiorników nasłuchujących zdarzenia o nazwie eventName
.
W przypadku podania listener
zostanie zwrócona liczba znalezionych odbiorników na liście odbiorników zdarzenia.
function listenerCount<K>(eventName: string | symbol, listener?: Function): number
Parametry
- eventName
-
string | symbol
Nazwa zdarzenia, dla których jest nasłuchiwane
- listener
-
Function
Funkcja obsługi zdarzeń
Zwraca
number
dziedziczone z Receiver.listenerCount
listeners<K>(string | symbol)
Zwraca kopię tablicy odbiorników dla zdarzenia o nazwie 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[]
Parametry
- eventName
-
string | symbol
Zwraca
Function[]
dziedziczone z Receiver.listeners
off<K>(string | symbol, (args: any[]) => void)
Alias dla emitter.removeListener()
.
function off<K>(eventName: string | symbol, listener: (args: any[]) => void): ServiceReceiver
Parametry
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Zwraca
dziedziczone z odbiornika.off
on("errorReceived", (err: Error) => void)
function on(type: "errorReceived", func: (err: Error) => void): ServiceReceiver
Parametry
- type
-
"errorReceived"
- func
-
(err: Error) => void
Zwraca
dziedziczone z odbiornika.on
on("message", (msg: Message) => void)
function on(type: "message", func: (msg: Message) => void): ServiceReceiver
Parametry
- type
-
"message"
- func
-
(msg: Message) => void
Zwraca
dziedziczone z odbiornika.on
on(string, Function)
function on(type: string, func: Function): ServiceReceiver
Parametry
- type
-
string
- func
-
Function
Zwraca
dziedziczone z odbiornika.on
once<K>(string | symbol, (args: any[]) => void)
Dodaje funkcję jednorazowąlistener
dla zdarzenia o nazwie eventName
. Przy następnym wyzwoleniu eventName
ten odbiornik zostanie usunięty, a następnie wywołany.
server.once('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Zwraca odwołanie do EventEmitter
, aby wywołania mogły być łańcuchowe.
Domyślnie odbiorniki zdarzeń są wywoływane w kolejności, w której są dodawane. Metodę emitter.prependOnceListener()
można użyć jako alternatywy, aby dodać odbiornik zdarzeń na początku tablicy odbiorników.
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
Parametry
- eventName
-
string | symbol
Nazwa zdarzenia.
- listener
-
(args: any[]) => void
Funkcja wywołania zwrotnego
Zwraca
dziedziczone z odbiornika.once
prependListener<K>(string | symbol, (args: any[]) => void)
Dodaje funkcję listener
do rozpoczynającej się tablicy odbiorników dla zdarzenia o nazwie eventName
. Nie są sprawdzane, czy listener
został już dodany. Wiele wywołań przekazujących tę samą kombinację eventName
i listener
spowoduje dodanie listener
i wywołanie wielu razy.
server.prependListener('connection', (stream) => {
console.log('someone connected!');
});
Zwraca odwołanie do EventEmitter
, aby wywołania mogły być łańcuchowe.
function prependListener<K>(eventName: string | symbol, listener: (args: any[]) => void): ServiceReceiver
Parametry
- eventName
-
string | symbol
Nazwa zdarzenia.
- listener
-
(args: any[]) => void
Funkcja wywołania zwrotnego
Zwraca
dziedziczone z Receiver.prependListener
prependOnceListener<K>(string | symbol, (args: any[]) => void)
Dodaje funkcję jednorazowąlistener
dla zdarzenia o nazwie eventName
do rozpoczynającej się tablicy odbiorników. Następnym razem, gdy eventName
zostanie wyzwolony, ten odbiornik zostanie usunięty, a następnie wywołany.
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Zwraca odwołanie do EventEmitter
, aby wywołania mogły być łańcuchowe.
function prependOnceListener<K>(eventName: string | symbol, listener: (args: any[]) => void): ServiceReceiver
Parametry
- eventName
-
string | symbol
Nazwa zdarzenia.
- listener
-
(args: any[]) => void
Funkcja wywołania zwrotnego
Zwraca
dziedziczone z Receiver.prependOnceListener
rawListeners<K>(string | symbol)
Zwraca kopię tablicy odbiorników dla zdarzenia o nazwie eventName
, w tym wszelkie otoki (takie jak te utworzone przez .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[]
Parametry
- eventName
-
string | symbol
Zwraca
Function[]
dziedziczone z Receiver.rawListeners
removeAllListeners(string | symbol)
Usuwa wszystkie odbiorniki lub te z określonych eventName
.
Źle jest usunąć odbiorniki dodane gdzie indziej w kodzie, szczególnie w przypadku utworzenia wystąpienia EventEmitter
przez inny składnik lub moduł (np. gniazda lub strumienie plików).
Zwraca odwołanie do EventEmitter
, aby wywołania mogły być łańcuchowe.
function removeAllListeners(eventName?: string | symbol): ServiceReceiver
Parametry
- eventName
-
string | symbol
Zwraca
dziedziczone z odbiornika.removeAllListeners
removeListener<K>(string | symbol, (args: any[]) => void)
Usuwa określone listener
z tablicy odbiorników dla zdarzenia o nazwie eventName
.
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
removeListener()
usunie co najwyżej jedno wystąpienie odbiornika z tablicy odbiornika. Jeśli jakikolwiek pojedynczy odbiornik został dodany wiele razy do tablicy odbiornika dla określonego eventName
, removeListener()
należy wywołać wiele razy, aby usunąć każde wystąpienie.
Po emitowaniu zdarzenia wszystkie odbiorniki dołączone do niego w momencie emitowania są wywoływane w kolejności. Oznacza to, że wszystkie wywołania removeListener()
lub removeAllListeners()
po emitowaniu i przed ostatnie wykonanie odbiornika nie spowoduje usunięcia ich zemit()
w toku. Kolejne zdarzenia zachowują się zgodnie z oczekiwaniami.
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
Ponieważ odbiorniki są zarządzane przy użyciu tablicy wewnętrznej, wywołanie spowoduje zmianę indeksów pozycji dowolnego odbiornika zarejestrowanego po usunięcia odbiornika. Nie będzie to miało wpływu na kolejność wywoływanych odbiorników, ale oznacza to, że wszystkie kopie tablicy odbiorników zwrócone przez metodę emitter.listeners()
będą musiały zostać ponownie odtworzone.
Gdy pojedyncza funkcja została dodana jako procedura obsługi wiele razy dla pojedynczego zdarzenia (jak w poniższym przykładzie), removeListener()
usunie ostatnio dodane wystąpienie. W przykładzie odbiornik once('ping')
zostanie usunięty:
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');
Zwraca odwołanie do EventEmitter
, aby wywołania mogły być łańcuchowe.
function removeListener<K>(eventName: string | symbol, listener: (args: any[]) => void): ServiceReceiver
Parametry
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Zwraca
dziedziczone z Receiver.removeListener
setMaxListeners(number)
Domyślnie EventEmitter
s wyświetli ostrzeżenie, jeśli dla określonego zdarzenia zostanie dodane więcej niż 10
odbiorniki. Jest to przydatna wartość domyślna, która ułatwia znajdowanie przecieków pamięci. Metoda emitter.setMaxListeners()
umożliwia zmodyfikowanie limitu dla tego konkretnego wystąpienia EventEmitter
. Wartość można ustawić na Infinity
(lub 0
), aby wskazać nieograniczoną liczbę odbiorników.
Zwraca odwołanie do EventEmitter
, aby wywołania mogły być łańcuchowe.
function setMaxListeners(n: number): ServiceReceiver
Parametry
- n
-
number
Zwraca
dziedziczone z odbiornika.setMaxListeners
[captureRejectionSymbol]<K>(Error, string | symbol, AnyRest)
function [captureRejectionSymbol]<K>(error: Error, event: string | symbol, args: AnyRest)
Parametry
- error
-
Error
- event
-
string | symbol
- args
-
AnyRest
dziedziczone z Receiver.__@captureRejectionSymbol@118