Transport interface
- Extends
-
EventEmitter
Metody
Zděděné metody
add |
Alias pro |
emit<K>(string | symbol, Any |
Synchronně volá všechny naslouchací procesy zaregistrované pro událost s názvem Vrátí
|
event |
Vrátí pole se seznamem událostí, pro které má emiter zaregistrované naslouchací procesy. Hodnoty v poli jsou řetězce nebo
|
get |
Vrátí aktuální maximální hodnotu naslouchacího procesu pro |
listener |
Vrátí počet naslouchacích procesů naslouchajících události s názvem |
listeners<K>(string | symbol) | Vrátí kopii pole naslouchacích procesů pro událost s názvem
|
off<K>(string | symbol, (args: any[]) => void) | Alias pro |
on<K>(string | symbol, (args: any[]) => void) | Přidá funkci
Vrátí odkaz na Ve výchozím nastavení se naslouchací procesy událostí vyvolávají v pořadí, v jakém se přidávají. Metodu
|
once<K>(string | symbol, (args: any[]) => void) | Přidá jednorázovou funkci
Vrátí odkaz na Ve výchozím nastavení se naslouchací procesy událostí vyvolávají v pořadí, v jakém se přidávají. Metodu
|
prepend |
Přidá funkci
Vrátí odkaz na |
prepend |
Přidá jednorázové
Vrátí odkaz na |
raw |
Vrátí kopii pole naslouchacích procesů pro událost s názvem
|
remove |
Odebere všechny naslouchací procesy nebo naslouchací procesy zadané Je vhodné odebrat naslouchací procesy přidané jinde v kódu, zejména pokud byla instance Vrátí odkaz na |
remove |
Odebere zadanou
Jakmile se událost vygeneruje, všechny naslouchací procesy, které jsou k ní připojeny v době generování, se volají v pořadí. To znamená, že všechny
Vzhledem k tomu, že naslouchací procesy se spravují pomocí interního pole, při volání se změní indexy pozice libovolného naslouchacího procesu registrovaného po odebrání naslouchacího procesu. To nebude mít vliv na pořadí, ve kterém se volají naslouchací procesy, ale znamená to, že všechny kopie pole naslouchacího procesu vrácené metodou Když je jedna funkce přidána jako obslužná rutina několikrát pro jednu událost (jako v příkladu níže),
Vrátí odkaz na |
set |
Ve výchozím nastavení Vrátí odkaz na |
[capture |
Podrobnosti metody
connect(Callback<Connected>)
function connect(done?: Callback<Connected>)
Parametry
- done
-
Callback<Connected>
disconnect(Callback<Disconnected>)
function disconnect(done: Callback<Disconnected>)
Parametry
- done
-
Callback<Disconnected>
getFeedbackReceiver(Callback<ServiceReceiver>)
function getFeedbackReceiver(done: Callback<ServiceReceiver>)
Parametry
- done
-
Callback<ServiceReceiver>
getFileNotificationReceiver(Callback<ServiceReceiver>)
function getFileNotificationReceiver(done: Callback<ServiceReceiver>)
Parametry
- done
-
Callback<ServiceReceiver>
send(string, Message, Callback<MessageEnqueued>)
function send(deviceId: string, message: Message, done?: Callback<MessageEnqueued>)
Parametry
- deviceId
-
string
- message
-
Message
- done
-
Callback<MessageEnqueued>
Podrobnosti zděděných metod
addListener<K>(string | symbol, (args: any[]) => void)
Alias pro emitter.on(eventName, listener)
.
function addListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Transport
Parametry
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Návraty
zděděno z EventEmitter.addListener
emit<K>(string | symbol, AnyRest)
Synchronně volá všechny naslouchací procesy zaregistrované pro událost s názvem eventName
, v pořadí, v jakém byly zaregistrovány, předávání zadaných argumentů každému.
Vrátí true
, pokud událost měla naslouchací procesy, false
jinak.
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
Návraty
boolean
zděděno z EventEmitter.emit
eventNames()
Vrátí pole se seznamem událostí, pro které má emiter zaregistrované naslouchací procesy. Hodnoty v poli jsou řetězce nebo 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)[]
Návraty
(string | symbol)[]
zděděno z EventEmitter.eventNames
getMaxListeners()
Vrátí aktuální maximální hodnotu naslouchacího procesu pro EventEmitter
, která je buď nastavena emitter.setMaxListeners(n)
, nebo je výchozí hodnota defaultMaxListeners.
function getMaxListeners(): number
Návraty
number
zděděné z EventEmitter.getMaxListeners
listenerCount<K>(string | symbol, Function)
Vrátí počet naslouchacích procesů naslouchajících události s názvem eventName
.
Pokud listener
, vrátí se v seznamu naslouchacích procesů události, kolikrát se naslouchací proces najde.
function listenerCount<K>(eventName: string | symbol, listener?: Function): number
Parametry
- eventName
-
string | symbol
Název události, pro kterou se naslouchá
- listener
-
Function
Funkce obslužné rutiny události
Návraty
number
zděděno z EventEmitter.listenerCount
listeners<K>(string | symbol)
Vrátí kopii pole naslouchacích procesů pro událost s názvem 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
Návraty
Function[]
zděděné z EventEmitter.listeners
off<K>(string | symbol, (args: any[]) => void)
Alias pro emitter.removeListener()
.
function off<K>(eventName: string | symbol, listener: (args: any[]) => void): Transport
Parametry
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Návraty
zděděno z EventEmitter.off
on<K>(string | symbol, (args: any[]) => void)
Přidá funkci listener
na konec pole naslouchacích procesů pro událost s názvem eventName
. Nejsou provedeny žádné kontroly, abyste zjistili, jestli už listener
byla přidána. Více volání, která předávají stejnou kombinaci eventName
a listener
, způsobí přidání listener
a volání několikrát.
server.on('connection', (stream) => {
console.log('someone connected!');
});
Vrátí odkaz na EventEmitter
, aby volání bylo možné zřetězený.
Ve výchozím nastavení se naslouchací procesy událostí vyvolávají v pořadí, v jakém se přidávají. Metodu emitter.prependListener()
lze použít jako alternativu k přidání naslouchacího procesu událostí na začátek pole naslouchacích procesů.
import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.on('foo', () => console.log('a'));
myEE.prependListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
// b
// a
function on<K>(eventName: string | symbol, listener: (args: any[]) => void): Transport
Parametry
- eventName
-
string | symbol
Název události.
- listener
-
(args: any[]) => void
Funkce zpětného volání
Návraty
zděděno z EventEmitter.on
once<K>(string | symbol, (args: any[]) => void)
Přidá jednorázovou funkcilistener
pro událost s názvem eventName
. Při příštím spuštění eventName
se tento naslouchací proces odebere a potom se vyvolá.
server.once('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Vrátí odkaz na EventEmitter
, aby volání bylo možné zřetězený.
Ve výchozím nastavení se naslouchací procesy událostí vyvolávají v pořadí, v jakém se přidávají. Metodu emitter.prependOnceListener()
lze použít jako alternativu k přidání naslouchacího procesu událostí na začátek pole naslouchacích procesů.
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): Transport
Parametry
- eventName
-
string | symbol
Název události.
- listener
-
(args: any[]) => void
Funkce zpětného volání
Návraty
zděděno z EventEmitter.once
prependListener<K>(string | symbol, (args: any[]) => void)
Přidá funkci listener
do začínající pole naslouchacích procesů pro událost s názvem eventName
. Nejsou provedeny žádné kontroly, abyste zjistili, jestli už listener
byla přidána. Více volání, která předávají stejnou kombinaci eventName
a listener
, způsobí přidání listener
a volání několikrát.
server.prependListener('connection', (stream) => {
console.log('someone connected!');
});
Vrátí odkaz na EventEmitter
, aby volání bylo možné zřetězený.
function prependListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Transport
Parametry
- eventName
-
string | symbol
Název události.
- listener
-
(args: any[]) => void
Funkce zpětného volání
Návraty
zděděno z EventEmitter.prependListener
prependOnceListener<K>(string | symbol, (args: any[]) => void)
Přidá jednorázovélistener
funkce pro událost s názvem eventName
do začínající pole naslouchacích procesů. Při příštím spuštění eventName
se tento naslouchací proces odebere a potom se vyvolá.
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Vrátí odkaz na EventEmitter
, aby volání bylo možné zřetězený.
function prependOnceListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Transport
Parametry
- eventName
-
string | symbol
Název události.
- listener
-
(args: any[]) => void
Funkce zpětného volání
Návraty
zděděno z EventEmitter.prependOnceListener
rawListeners<K>(string | symbol)
Vrátí kopii pole naslouchacích procesů pro událost s názvem eventName
, včetně všech obálky (například těch vytvořených .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
Návraty
Function[]
zděděné z EventEmitter.rawListeners
removeAllListeners(string | symbol)
Odebere všechny naslouchací procesy nebo naslouchací procesy zadané eventName
.
Je vhodné odebrat naslouchací procesy přidané jinde v kódu, zejména pokud byla instance EventEmitter
vytvořená nějakou jinou komponentou nebo modulem (např. sokety nebo streamy souborů).
Vrátí odkaz na EventEmitter
, aby volání bylo možné zřetězený.
function removeAllListeners(eventName?: string | symbol): Transport
Parametry
- eventName
-
string | symbol
Návraty
zděděno z EventEmitter.removeAllListeners
removeListener<K>(string | symbol, (args: any[]) => void)
Odebere zadanou listener
z pole naslouchacího procesu pro událost s názvem eventName
.
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
removeListener()
odebere z pole naslouchacího procesu nanejvýš jednu instanci naslouchacího procesu. Pokud byl některý jeden naslouchací proces přidán vícekrát do pole naslouchacího procesu pro zadané eventName
, pak removeListener()
musí být volána vícekrát, aby bylo možné odebrat každou instanci.
Jakmile se událost vygeneruje, všechny naslouchací procesy, které jsou k ní připojeny v době generování, se volají v pořadí. To znamená, že všechny removeListener()
nebo removeAllListeners()
volání po vygenerování a před dokončením posledního naslouchacího procesu je neodeberou zemit()
probíhajícího. Následné události se chovají podle očekávání.
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
Vzhledem k tomu, že naslouchací procesy se spravují pomocí interního pole, při volání se změní indexy pozice libovolného naslouchacího procesu registrovaného po odebrání naslouchacího procesu. To nebude mít vliv na pořadí, ve kterém se volají naslouchací procesy, ale znamená to, že všechny kopie pole naslouchacího procesu vrácené metodou emitter.listeners()
bude potřeba znovu vytvořit.
Když je jedna funkce přidána jako obslužná rutina několikrát pro jednu událost (jako v příkladu níže), removeListener()
odebere naposledy přidanou instanci. V příkladu se odebere naslouchací proces 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');
Vrátí odkaz na EventEmitter
, aby volání bylo možné zřetězený.
function removeListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Transport
Parametry
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Návraty
zděděno z EventEmitter.removeListener
setMaxListeners(number)
Ve výchozím nastavení EventEmitter
s zobrazí upozornění, pokud se pro konkrétní událost přidá více než 10
naslouchací procesy. Toto je užitečné výchozí nastavení, které pomáhá najít nevrácenou paměť. Metoda emitter.setMaxListeners()
umožňuje upravit limit pro tuto konkrétní instanci EventEmitter
. Hodnotu lze nastavit na Infinity
(nebo 0
), aby bylo možné označit neomezený počet naslouchacích procesů.
Vrátí odkaz na EventEmitter
, aby volání bylo možné zřetězený.
function setMaxListeners(n: number): Transport
Parametry
- n
-
number
Návraty
zděděno z EventEmitter.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
zděděno z EventEmitter.__@captureRejectionSymbol@118