ServiceReceiver interface
- Extends
-
Receiver
Методы
abandon(Message, Callback<Message |
|
complete(Message, Callback<Message |
|
reject(Message, Callback<Message |
Наследуемые методы
add |
Псевдоним для |
emit<K>(string | symbol, Any |
Синхронно вызывает каждый из прослушивателей, зарегистрированных для события с именем Возвращает значение
|
event |
Возвращает массив со списком событий, для которых у излучателя есть зарегистрированные прослушиватели. Значениями в массиве являются строки или
|
get |
Возвращает текущее максимальное значение прослушивателя для |
listener |
Возвращает число прослушивателей, прослушивающих событие с именем |
listeners<K>(string | symbol) | Возвращает копию массива прослушивателей для события с именем
|
off<K>(string | symbol, (args: any[]) => void) | Псевдоним для |
on("error |
|
on("message", (msg: Message) => void) | |
on(string, Function) | |
once<K>(string | symbol, (args: any[]) => void) | Добавляет одноразовую
Возвращает ссылку на По умолчанию прослушиватели событий вызываются в порядке их добавления. Метод
|
prepend |
Добавляет функцию в
Возвращает ссылку на |
prepend |
Добавляет одноразовую
Возвращает ссылку на |
raw |
Возвращает копию массива прослушивателей для события с именем
|
remove |
Удаляет все прослушиватели или прослушиватели указанного Не рекомендуется удалять прослушиватели, добавленные в другом месте кода, особенно если Возвращает ссылку на |
remove |
Удаляет указанный
После создания события все прослушиватели, подключенные к нему во время создания, вызываются по порядку. Это означает, что любые
Так как прослушиватели управляются с помощью внутреннего массива, этот вызов приведет к изменению индексов позиции любого прослушивателя, зарегистрированного после удаления прослушивателя. Это не повлияет на порядок вызова прослушивателей, но это означает, что все копии массива прослушивателя, возвращаемые методом Если одна функция была добавлена в качестве обработчика несколько раз для одного события (как показано в примере ниже),
Возвращает ссылку на |
set |
По умолчанию Возвращает ссылку на |
[capture |
Сведения о методе
abandon(Message, Callback<MessageAbandoned>)
function abandon(message: Message, done?: Callback<MessageAbandoned>)
Параметры
- message
-
Message
- done
-
Callback<MessageAbandoned>
complete(Message, Callback<MessageCompleted>)
function complete(message: Message, done?: Callback<MessageCompleted>)
Параметры
- message
-
Message
- done
-
Callback<MessageCompleted>
reject(Message, Callback<MessageRejected>)
function reject(message: Message, done?: Callback<MessageRejected>)
Параметры
- message
-
Message
- done
-
Callback<MessageRejected>
Сведения о наследуемом методе
addListener<K>(string | symbol, (args: any[]) => void)
Псевдоним для emitter.on(eventName, listener)
.
function addListener<K>(eventName: string | symbol, listener: (args: any[]) => void): ServiceReceiver
Параметры
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Возвращаемое значение
Наследуется от Receiver.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
Наследуется от Receiver.emit
eventNames()
Возвращает массив со списком событий, для которых у излучателя есть зарегистрированные прослушиватели. Значениями в массиве являются строки или 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)[]
Возвращаемое значение
(string | symbol)[]
Наследуется от Receiver.eventNames
getMaxListeners()
Возвращает текущее максимальное значение прослушивателя для EventEmitter
, которое имеет значение emitter.setMaxListeners(n)
или по умолчанию имеет значение defaultMaxListeners.
function getMaxListeners(): number
Возвращаемое значение
number
Наследуется от Receiver.getMaxListeners
listenerCount<K>(string | symbol, Function)
Возвращает число прослушивателей, прослушивающих событие с именем eventName
.
Если listener
указан параметр , он вернет, сколько раз прослушиватель находится в списке прослушивателей события.
function listenerCount<K>(eventName: string | symbol, listener?: Function): number
Параметры
- eventName
-
string | symbol
Имя прослушиваемого события
- listener
-
Function
Функция обработчика событий
Возвращаемое значение
number
Наследуется от Receiver.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[]
Наследуется от Receiver.listeners
off<K>(string | symbol, (args: any[]) => void)
Псевдоним для emitter.removeListener()
.
function off<K>(eventName: string | symbol, listener: (args: any[]) => void): ServiceReceiver
Параметры
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Возвращаемое значение
Наследуется от Receiver.off
on("errorReceived", (err: Error) => void)
function on(type: "errorReceived", func: (err: Error) => void): ServiceReceiver
Параметры
- type
-
"errorReceived"
- func
-
(err: Error) => void
Возвращаемое значение
Наследуется от Receiver.on
on("message", (msg: Message) => void)
function on(type: "message", func: (msg: Message) => void): ServiceReceiver
Параметры
- type
-
"message"
- func
-
(msg: Message) => void
Возвращаемое значение
Наследуется от Receiver.on
on(string, Function)
function on(type: string, func: Function): ServiceReceiver
Параметры
- type
-
string
- func
-
Function
Возвращаемое значение
Наследуется от Receiver.on
once<K>(string | symbol, (args: any[]) => void)
Добавляет одноразовуюlistener
функцию для события с именем eventName
. При следующем 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): ServiceReceiver
Параметры
- eventName
-
string | symbol
Имя события.
- listener
-
(args: any[]) => void
Функция обратного вызова
Возвращаемое значение
Наследуется от Receiver.once
prependListener<K>(string | symbol, (args: any[]) => void)
Добавляет функцию в listener
начало массива прослушивателей для события с именем eventName
. Проверки, чтобы убедиться, listener
что объект уже добавлен, не выполняется. Несколько вызовов, передаваемых одинаковое eventName
сочетание и listener
, приведут к добавлению listener
и вызову несколько раз.
server.prependListener('connection', (stream) => {
console.log('someone connected!');
});
Возвращает ссылку на EventEmitter
, чтобы вызовы можно было связать в цепочку.
function prependListener<K>(eventName: string | symbol, listener: (args: any[]) => void): ServiceReceiver
Параметры
- eventName
-
string | symbol
Имя события.
- listener
-
(args: any[]) => void
Функция обратного вызова
Возвращаемое значение
Наследуется от Receiver.prependListener
prependOnceListener<K>(string | symbol, (args: any[]) => void)
Добавляет одноразовуюlistener
функцию для события с именем eventName
в начало массива прослушивателей. При следующем eventName
запуске прослушиватель удаляется, а затем вызывается.
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Возвращает ссылку на EventEmitter
, чтобы вызовы можно было связать в цепочку.
function prependOnceListener<K>(eventName: string | symbol, listener: (args: any[]) => void): ServiceReceiver
Параметры
- eventName
-
string | symbol
Имя события.
- listener
-
(args: any[]) => void
Функция обратного вызова
Возвращаемое значение
Наследуется от Receiver.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[]
Наследуется от Receiver.rawListeners
removeAllListeners(string | symbol)
Удаляет все прослушиватели или прослушиватели указанного eventName
объекта .
Не рекомендуется удалять прослушиватели, добавленные в другом месте кода, особенно если EventEmitter
экземпляр был создан каким-либо другим компонентом или модулем (например, сокетами или потоками файлов).
Возвращает ссылку на EventEmitter
, чтобы вызовы можно было связать в цепочку.
function removeAllListeners(eventName?: string | symbol): ServiceReceiver
Параметры
- eventName
-
string | symbol
Возвращаемое значение
Наследуется от Receiver.removeAllListeners
removeListener<K>(string | symbol, (args: any[]) => void)
Удаляет указанный listener
объект из массива прослушивателя для события с именем eventName
.
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
removeListener()
удалит не более одного экземпляра прослушивателя из массива прослушивателя. Если какой-либо отдельный прослушиватель был добавлен несколько раз в массив прослушивателя для указанного eventName
, то 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()
, потребуется повторно создать.
Если одна функция была добавлена в качестве обработчика несколько раз для одного события (как показано в примере ниже), 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): ServiceReceiver
Параметры
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Возвращаемое значение
Наследуется от Receiver.removeListener
setMaxListeners(number)
По умолчанию EventEmitter
s выводит предупреждение, если для определенного события добавляется больше 10
прослушивателей. Это полезное значение по умолчанию, помогающее найти утечки памяти. Метод emitter.setMaxListeners()
позволяет изменить ограничение для этого конкретного экземпляра EventEmitter
. Чтобы указать неограниченное количество прослушивателей, можно задать Infinity
значение (или 0
).
Возвращает ссылку на EventEmitter
, чтобы вызовы можно было связать в цепочку.
function setMaxListeners(n: number): ServiceReceiver
Параметры
- n
-
number
Возвращаемое значение
Наследуется от Receiver.setMaxListeners
[captureRejectionSymbol]<K>(Error, string | symbol, AnyRest)
function [captureRejectionSymbol]<K>(error: Error, event: string | symbol, args: AnyRest)
Параметры
- error
-
Error
- event
-
string | symbol
- args
-
AnyRest
Наследуется от Receiver.__@captureRejectionSymbol@115