ModuleClient class
IoT Hub klienta zařízení použitého k připojení zařízení ke službě Azure IoT Hub.
Uživatelé sady SDK by měli zavolat jednu z metod továrny zConnectionString nebo zSharedAccessSignature, aby vytvořili klienta IoT Hub zařízení.
- Extends
-
InternalClient
Zděděné vlastnosti
capture |
Hodnota: logická hodnota Změňte výchozí |
capture |
Hodnota: Přečtěte si, jak napsat vlastní |
default |
Ve výchozím nastavení je možné pro libovolnou jednu událost zaregistrovat maximum naslouchacích Při nastavování Toto není pevný limit. Instance
Příznak Vygenerované upozornění lze zkontrolovat pomocí |
error |
Tento symbol se používá k instalaci naslouchacího procesu pouze pro monitorovací Instalace naslouchacího procesu pomocí tohoto symbolu nezmění chování po |
Metody
close() | |
close(Callback<Disconnected>) | Ukončí přenosové připojení a zničí prostředky klienta. Poznámka: Po volání této metody nelze objekt ModuleClient znovu použít. |
from |
Vytvoří klienta modulu IoT Hub z dané metody ověřování a s použitím daného typu přenosu. |
from |
Vytvoří klienta IoT Hub zařízení z daného připojovací řetězec s použitím daného typu přenosu. |
from |
|
from |
Vytvoří klienta modulu IoT Hub pomocí konfiguračních informací z prostředí. Pokud proměnná prostředí s názvem
|
from |
Vytvoří klienta modulu IoT Hub z daného sdíleného přístupového podpisu pomocí daného typu přenosu. |
invoke |
|
invoke |
Vyvolá metodu na podřízené zařízení nebo v jiném modulu na stejném zařízení IoTEdge. Upozorňujeme, že tato funkce funguje jenom v případě, že se modul spouští jako součást zařízení IoTEdge. |
invoke |
|
invoke |
|
on |
Zaregistruje zpětné volání pro metodu s názvem |
send |
|
send |
Odešle událost do výstupu daného modulu. |
send |
|
send |
Odešle pole událostí do výstupu daného modulu. |
set |
|
set |
Předá možnosti objektu |
Zděděné metody
abandon(Message) | |
abandon(Message, Callback<Message |
|
add |
Naslouchá jednou
Toto rozhraní API umožňuje bezpečně používat Vrátí jednorázový, aby bylo možné ho snadněji odhlásit.
|
add |
Alias pro |
complete(Message) | |
complete(Message, Callback<Message |
|
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á emitor zaregistrované naslouchací procesy. Hodnoty v poli jsou řetězce nebo
|
get |
Vrátí kopii pole naslouchacích procesů pro událost s názvem Pro Pro
|
get |
Vrátí aktuální maximální hodnotu naslouchacího |
get |
Vrátí aktuálně nastavený maximální počet naslouchacích procesů. Pro Pro
|
get |
|
get |
|
listener |
Metoda třídy, která vrací počet naslouchacích procesů pro danou
|
listener |
Vrátí počet naslouchacích procesů, které naslouchají 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(Event |
Vrátí hodnotu Můžete
|
on<K>(string | symbol, (args: any[]) => void) |
Vrátí odkaz na Ve výchozím nastavení se naslouchací procesy událostí volají v pořadí, v jakém jsou přidány. Metodu
|
once(Event |
Tato metoda je záměrně obecná a pracuje s rozhraním EventTarget webové platformy, které nemá žádnou zvláštní
Speciální zpracování
Můžete
|
once(_DOMEvent |
|
once<K>(string | symbol, (args: any[]) => void) | Přidá jednorázovou
Vrátí odkaz na Ve výchozím nastavení se naslouchací procesy událostí volají v pořadí, v jakém jsou přidány. Metodu
|
open() | |
open(Callback<Connected>) | |
prepend |
Vrátí odkaz na |
prepend |
Přidá jednorázovou
Vrátí odkaz na |
raw |
Vrátí kopii pole naslouchacích procesů pro událost s názvem
|
reject(Message) | |
reject(Message, Callback<Message |
|
remove |
Odebere všechny naslouchací procesy nebo naslouchací procesy zadaného Je špatným postupem odebrat naslouchací procesy přidané jinde v kódu, zejména pokud Vrátí odkaz na |
remove |
Odebere zadaný
Jakmile je událost vygenerovaná, všechny naslouchací procesy připojené k ní v době generování jsou volány v pořadí. To znamená, že všechna
Vzhledem k tomu, že se naslouchací procesy spravují pomocí interního pole, toto volání změní indexy pozic libovolného naslouchacího procesu zaregistrovaného po odebrání naslouchacího procesu. To nebude mít vliv na pořadí, ve kterém jsou volána naslouchací procesy, ale znamená to, že všechny kopie pole naslouchacího procesu vrácené metodou Pokud je jedna funkce přidána jako obslužná rutina vícekrát pro jednu událost (jako v následujícím příkladu),
Vrátí odkaz na |
send |
|
send |
|
send |
|
send |
|
set |
Ve výchozím nastavení Vrátí odkaz na |
set |
|
set |
Nastaví zásady opakování používané klientem pro všechny operace. Výchozí hodnota je ExponentialBackoffWithJitter. |
set |
|
set |
|
update |
|
[capture |
Podrobnosti zděděných vlastností
captureRejections
Hodnota: logická hodnota
Změňte výchozí captureRejections
možnost u všech nových EventEmitter
objektů.
static captureRejections: boolean
Hodnota vlastnosti
boolean
Zděděno z InternalClient.captureRejections
captureRejectionSymbol
Hodnota: Symbol.for('nodejs.rejection')
Přečtěte si, jak napsat vlastní rejection handler
.
static captureRejectionSymbol: typeof captureRejectionSymbol
Hodnota vlastnosti
typeof captureRejectionSymbol
Zděděno z InternalClient.captureRejectionSymbol
defaultMaxListeners
Ve výchozím nastavení je možné pro libovolnou jednu událost zaregistrovat maximum naslouchacích 10
procesů. Tento limit je možné změnit pro jednotlivé EventEmitter
instance pomocí emitter.setMaxListeners(n)
metody . Pokud chcete změnit výchozí nastavení pro všechnyEventEmitter
instance, events.defaultMaxListeners
můžete použít vlastnost . Pokud tato hodnota není kladné číslo, RangeError
je vyvolán argument .
Při nastavování events.defaultMaxListeners
hodnoty buďte opatrní, protože změna ovlivní všechnyEventEmitter
instance, včetně těch, které byly vytvořeny před provedením změny. Volání emitter.setMaxListeners(n)
ale stále má přednost před events.defaultMaxListeners
.
Toto není pevný limit. Instance EventEmitter
umožní přidání dalších naslouchacích procesů, ale vypíše upozornění trasování do stderru, které bude indikovat, že byl zjištěn "možný nevracení paměti EventEmitter". EventEmitter
emitter.getMaxListeners()
K dočasnému zabránění tomuto upozornění můžete použít metody aemitter.setMaxListeners()
.
import { EventEmitter } from 'node:events';
const emitter = new EventEmitter();
emitter.setMaxListeners(emitter.getMaxListeners() + 1);
emitter.once('event', () => {
// do stuff
emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
});
Příznak --trace-warnings
příkazového řádku lze použít k zobrazení trasování zásobníku pro taková upozornění.
Vygenerované upozornění lze zkontrolovat pomocí process.on('warning')
a bude mít další emitter
vlastnosti , type
a, které count
odkazují na instanci emitoru událostí, název události a počet připojených naslouchacích procesů.
Jeho name
vlastnost je nastavená na 'MaxListenersExceededWarning'
.
static defaultMaxListeners: number
Hodnota vlastnosti
number
Zděděno z InternalClient.defaultMaxListeners
errorMonitor
Tento symbol se používá k instalaci naslouchacího procesu pouze pro monitorovací 'error'
události. Naslouchací procesy nainstalované pomocí tohoto symbolu se volají před zavolání běžných'error'
naslouchacích procesů.
Instalace naslouchacího procesu pomocí tohoto symbolu nezmění chování po'error'
vygenerování události. Proto se proces stále chybově ukončí, pokud není nainstalovaný žádný běžný 'error'
naslouchací proces.
static errorMonitor: typeof errorMonitor
Hodnota vlastnosti
typeof errorMonitor
Zděděno z InternalClient.errorMonitor
Podrobnosti metody
close()
function close(): Promise<Disconnected>
Návraty
Promise<Disconnected>
close(Callback<Disconnected>)
Ukončí přenosové připojení a zničí prostředky klienta.
Poznámka: Po volání této metody nelze objekt ModuleClient znovu použít.
function close(closeCallback?: Callback<Disconnected>)
Parametry
- closeCallback
-
Callback<Disconnected>
Volitelná funkce, která se má volat, jakmile je přenos odpojen a klient se zavře.
fromAuthenticationProvider(AuthenticationProvider, any)
Vytvoří klienta modulu IoT Hub z dané metody ověřování a s použitím daného typu přenosu.
static function fromAuthenticationProvider(authenticationProvider: AuthenticationProvider, transportCtor: any): ModuleClient
Parametry
- authenticationProvider
-
AuthenticationProvider
Objekt použitý k získání parametrů ověřování pro centrum IoT.
- transportCtor
-
any
Transportní protokol použitý k připojení ke službě IoT Hub
Návraty
fromConnectionString(string, any)
Vytvoří klienta IoT Hub zařízení z daného připojovací řetězec s použitím daného typu přenosu.
static function fromConnectionString(connStr: string, transportCtor: any): ModuleClient
Parametry
- connStr
-
string
Připojovací řetězec, která zapouzdřuje oprávnění připojit zařízení ve službě IoT Hub.
- transportCtor
-
any
Konstruktor přenosu.
Návraty
fromEnvironment(any)
static function fromEnvironment(transportCtor: any): Promise<ModuleClient>
Parametry
- transportCtor
-
any
Návraty
Promise<ModuleClient>
fromEnvironment(any, Callback<ModuleClient>)
Vytvoří klienta modulu IoT Hub pomocí konfiguračních informací z prostředí.
Pokud proměnná prostředí s názvem EdgeHubConnectionString
nebo IotHubConnectionString
existuje, použije se tato hodnota a chování je stejné jako volání fromConnectionString
předání. Pokud tyto proměnné prostředí neexistují, musí být definovány následující proměnné:
- IOTEDGE_WORKLOADURI URI for iotedged's workload API
- IOTEDGE_DEVICEID Device identifier
- IOTEDGE_MODULEID Module identifier
- IOTEDGE_MODULEGENERATIONID Module generation identifier
- IOTEDGE_IOTHUBHOSTNAME IoT Hub host name
- IOTEDGE_AUTHSCHEME Authentication scheme to use; must be "sasToken"
static function fromEnvironment(transportCtor: any, callback?: Callback<ModuleClient>)
Parametry
- transportCtor
-
any
Transportní protokol použitý k připojení ke službě IoT Hub
- callback
-
Callback<ModuleClient>
Volitelné zpětné volání pro vyvolání při vytvoření moduluClient nebo při vytváření klienta dojde k chybě.
fromSharedAccessSignature(string, any)
Vytvoří klienta modulu IoT Hub z daného sdíleného přístupového podpisu pomocí daného typu přenosu.
static function fromSharedAccessSignature(sharedAccessSignature: string, transportCtor: any): ModuleClient
Parametry
- sharedAccessSignature
-
string
Sdílený přístupový podpis, který zapouzdřuje oprávnění pro připojení zařízení ve službě IoT Hub.
- transportCtor
-
any
Návraty
invokeMethod(string, MethodParams)
function invokeMethod(deviceId: string, methodParams: MethodParams): Promise<MethodResult>
Parametry
- deviceId
-
string
- methodParams
-
MethodParams
Návraty
Promise<MethodResult>
invokeMethod(string, MethodParams, Callback<MethodResult>)
Vyvolá metodu na podřízené zařízení nebo v jiném modulu na stejném zařízení IoTEdge. Upozorňujeme, že tato funkce funguje jenom v případě, že se modul spouští jako součást zařízení IoTEdge.
function invokeMethod(deviceId: string, methodParams: MethodParams, callback?: Callback<MethodResult>)
Parametry
- deviceId
-
string
identifikátor cílového zařízení
- methodParams
-
MethodParams
parametry volání přímé metody
- callback
-
Callback<MethodResult>
volitelné zpětné volání, které bude vyvoláno buď s objektem Error, nebo výsledkem volání metody.
invokeMethod(string, string, MethodParams)
function invokeMethod(deviceId: string, moduleId: string, methodParams: MethodParams): Promise<MethodResult>
Parametry
- deviceId
-
string
- moduleId
-
string
- methodParams
-
MethodParams
Návraty
Promise<MethodResult>
invokeMethod(string, string, MethodParams, Callback<MethodResult>)
function invokeMethod(deviceId: string, moduleId: string, methodParams: MethodParams, callback: Callback<MethodResult>)
Parametry
- deviceId
-
string
- moduleId
-
string
- methodParams
-
MethodParams
- callback
-
Callback<MethodResult>
onMethod(string, DoubleValueCallback<DeviceMethodRequest, DeviceMethodResponse>)
Zaregistruje zpětné volání pro metodu s názvem methodName
.
function onMethod(methodName: string, callback: DoubleValueCallback<DeviceMethodRequest, DeviceMethodResponse>)
Parametry
- methodName
-
string
Název metody, kterou bude zpracovávat zpětné volání
- callback
-
DoubleValueCallback<DeviceMethodRequest, DeviceMethodResponse>
Funkce, která se musí volat při každém přijetí požadavku metody na volanou methodName
metodu.
sendOutputEvent(string, Message)
function sendOutputEvent(outputName: string, message: Message): Promise<MessageEnqueued>
Parametry
- outputName
-
string
- message
- Message
Návraty
Promise<MessageEnqueued>
sendOutputEvent(string, Message, Callback<MessageEnqueued>)
Odešle událost do výstupu daného modulu.
function sendOutputEvent(outputName: string, message: Message, callback?: Callback<MessageEnqueued>)
Parametry
- outputName
-
string
Název výstupu pro odeslání události do
- message
- Message
Zpráva, která se má odeslat do daného výstupu
- callback
-
Callback<MessageEnqueued>
Volitelná funkce, která se má volat, když je operace zařazena do fronty.
sendOutputEventBatch(string, Message[])
function sendOutputEventBatch(outputName: string, messages: Message[]): Promise<MessageEnqueued>
Parametry
- outputName
-
string
- messages
-
Message[]
Návraty
Promise<MessageEnqueued>
sendOutputEventBatch(string, Message[], Callback<MessageEnqueued>)
Odešle pole událostí do výstupu daného modulu.
function sendOutputEventBatch(outputName: string, messages: Message[], callback?: Callback<MessageEnqueued>)
Parametry
- outputName
-
string
Název výstupu pro odeslání událostí do
- messages
-
Message[]
- callback
-
Callback<MessageEnqueued>
Funkce, která se má volat, když jsou operace zařazeny do fronty.
setOptions(DeviceClientOptions)
function setOptions(options: DeviceClientOptions): Promise<TransportConfigured>
Parametry
- options
- DeviceClientOptions
Návraty
Promise<TransportConfigured>
setOptions(DeviceClientOptions, Callback<TransportConfigured>)
Předá možnosti objektu ModuleClient
, které lze použít ke konfiguraci přenosu.
function setOptions(options: DeviceClientOptions, done?: Callback<TransportConfigured>)
Parametry
- options
- DeviceClientOptions
Objekt DeviceClientOptions .
- done
-
Callback<TransportConfigured>
Volitelné zpětné volání pro volání po nastavení možností.
Podrobnosti zděděných metod
abandon(Message)
function abandon(message: Message): Promise<MessageAbandoned>
Parametry
- message
- Message
Návraty
Promise<MessageAbandoned>
Zděděno z InternalClient.abandon
abandon(Message, Callback<MessageAbandoned>)
function abandon(message: Message, abandonCallback: Callback<MessageAbandoned>)
Parametry
- message
- Message
- abandonCallback
-
Callback<MessageAbandoned>
Zděděno z InternalClient.abandon
addAbortListener(AbortSignal, (event: Event) => void)
Naslouchá jednou abort
události na zadaném signal
.
abort
Naslouchání události na signálech přerušení je nebezpečné a může vést k úniku prostředků, protože jiná třetí strana se signálem může volat e.stopImmediatePropagation()
. Bohužel Node.js to nemůže změnit, protože by to bylo porušením webového standardu. Původní rozhraní API navíc umožňuje snadno zapomenout odebrat naslouchací procesy.
Toto rozhraní API umožňuje bezpečně používat AbortSignal
s v rozhraních Node.js API tím, že tyto dva problémy řeší nasloucháním události, která stopImmediatePropagation
nebrání spuštění naslouchacího procesu.
Vrátí jednorázový, aby bylo možné ho snadněji odhlásit.
import { addAbortListener } from 'node:events';
function example(signal) {
let disposable;
try {
signal.addEventListener('abort', (e) => e.stopImmediatePropagation());
disposable = addAbortListener(signal, (e) => {
// Do something when signal is aborted.
});
} finally {
disposable?.[Symbol.dispose]();
}
}
static function addAbortListener(signal: AbortSignal, resource: (event: Event) => void): Disposable
Parametry
- signal
-
AbortSignal
- resource
-
(event: Event) => void
Návraty
Disposable
Jednorázový, který odebere naslouchací abort
proces.
Zděděno z InternalClient.addAbortListener
addListener<K>(string | symbol, (args: any[]) => void)
Alias pro emitter.on(eventName, listener)
.
function addListener<K>(eventName: string | symbol, listener: (args: any[]) => void): ModuleClient
Parametry
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Návraty
Zděděno z InternalClient.addListener
complete(Message)
function complete(message: Message): Promise<MessageCompleted>
Parametry
- message
- Message
Návraty
Promise<MessageCompleted>
Zděděno z InternalClient.complete
complete(Message, Callback<MessageCompleted>)
function complete(message: Message, completeCallback: Callback<MessageCompleted>)
Parametry
- message
- Message
- completeCallback
-
Callback<MessageCompleted>
Zděděno z InternalClient.complete
emit<K>(string | symbol, AnyRest)
Synchronně volá všechny naslouchací procesy zaregistrované pro událost s názvemeventName
v pořadí, v jakém byly zaregistrovány, a předávají jim zadané argumenty.
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 InternalClient.emit
eventNames()
Vrátí pole se seznamem událostí, pro které má emitor 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 InternalClient.eventNames
getEventListeners(EventEmitter<DefaultEventMap> | _DOMEventTarget, string | symbol)
Vrátí kopii pole naslouchacích procesů pro událost s názvem eventName
.
Pro EventEmitter
s se to chová úplně stejně jako volání .listeners
na emitoru.
Pro EventTarget
s je to jediný způsob, jak získat naslouchací procesy událostí pro cíl události. To je užitečné pro účely ladění a diagnostiky.
import { getEventListeners, EventEmitter } from 'node:events';
{
const ee = new EventEmitter();
const listener = () => console.log('Events are fun');
ee.on('foo', listener);
console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
}
{
const et = new EventTarget();
const listener = () => console.log('Events are fun');
et.addEventListener('foo', listener);
console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
}
static function getEventListeners(emitter: EventEmitter<DefaultEventMap> | _DOMEventTarget, name: string | symbol): Function[]
Parametry
- emitter
-
EventEmitter<DefaultEventMap> | _DOMEventTarget
- name
-
string | symbol
Návraty
Function[]
Zděděno z InternalClient.getEventListeners
getMaxListeners()
Vrátí aktuální maximální hodnotu naslouchacího EventEmitter
procesu, která je nastavena emitter.setMaxListeners(n)
nebo ve výchozím nastavení defaultMaxListeners.
function getMaxListeners(): number
Návraty
number
Zděděno z InternalClient.getMaxListeners
getMaxListeners(EventEmitter<DefaultEventMap> | _DOMEventTarget)
Vrátí aktuálně nastavený maximální počet naslouchacích procesů.
Pro EventEmitter
s se to chová úplně stejně jako volání .getMaxListeners
na emitoru.
Pro EventTarget
s je to jediný způsob, jak získat maximální počet naslouchacích procesů událostí pro cíl události. Pokud počet obslužných rutin událostí v jednom eventTargetu překročí maximální hodnotu, eventTarget vytiskne upozornění.
import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';
{
const ee = new EventEmitter();
console.log(getMaxListeners(ee)); // 10
setMaxListeners(11, ee);
console.log(getMaxListeners(ee)); // 11
}
{
const et = new EventTarget();
console.log(getMaxListeners(et)); // 10
setMaxListeners(11, et);
console.log(getMaxListeners(et)); // 11
}
static function getMaxListeners(emitter: EventEmitter<DefaultEventMap> | _DOMEventTarget): number
Parametry
- emitter
-
EventEmitter<DefaultEventMap> | _DOMEventTarget
Návraty
number
Zděděno z InternalClient.getMaxListeners
getTwin()
getTwin(Callback<Twin>)
function getTwin(done: Callback<Twin>)
Parametry
- done
-
Callback<Twin>
Zděděno z InternalClient.getTwin
listenerCount(EventEmitter<DefaultEventMap>, string | symbol)
Upozornění
Toto rozhraní API je teď zastaralé.
Since v3.2.0 - Use listenerCount
instead.
Metoda třídy, která vrací počet naslouchacích procesů pro danou eventName
zaregistrovanou na daném emitter
objektu .
import { EventEmitter, listenerCount } from 'node:events';
const myEmitter = new EventEmitter();
myEmitter.on('event', () => {});
myEmitter.on('event', () => {});
console.log(listenerCount(myEmitter, 'event'));
// Prints: 2
static function listenerCount(emitter: EventEmitter<DefaultEventMap>, eventName: string | symbol): number
Parametry
- emitter
-
EventEmitter<DefaultEventMap>
Emitor, který se má dotazovat
- eventName
-
string | symbol
Název události
Návraty
number
Zděděno z InternalClient.listenerCount
listenerCount<K>(string | symbol, Function)
Vrátí počet naslouchacích procesů, které naslouchají události s názvem eventName
.
Pokud listener
je k dispozici, vrátí, kolikrát je naslouchací proces nalezen v seznamu naslouchacích procesů události.
function listenerCount<K>(eventName: string | symbol, listener?: Function): number
Parametry
- eventName
-
string | symbol
Název události, pro které se naslouchá
- listener
-
Function
Funkce obslužné rutiny události
Návraty
number
Zděděno z InternalClient.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ěno z InternalClient.listeners
off<K>(string | symbol, (args: any[]) => void)
Alias pro emitter.removeListener()
.
function off<K>(eventName: string | symbol, listener: (args: any[]) => void): ModuleClient
Parametry
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Návraty
Zděděno z InternalClient.off
on(EventEmitter<DefaultEventMap>, string, StaticEventEmitterOptions)
import { on, EventEmitter } from 'node:events';
import process from 'node:process';
const ee = new EventEmitter();
// Emit later on
process.nextTick(() => {
ee.emit('foo', 'bar');
ee.emit('foo', 42);
});
for await (const event of on(ee, 'foo')) {
// The execution of this inner block is synchronous and it
// processes one event at a time (even with await). Do not use
// if concurrent execution is required.
console.log(event); // prints ['bar'] [42]
}
// Unreachable here
Vrátí hodnotu AsyncIterator
, která iteruje eventName
události. Vyvolá se, pokud vygeneruje EventEmitter
'error'
. Při ukončení smyčky odebere všechny naslouchací procesy. Vrácené value
každou iterací je pole složené z vygenerovaných argumentů události.
Můžete AbortSignal
použít k zrušení čekání na události:
import { on, EventEmitter } from 'node:events';
import process from 'node:process';
const ac = new AbortController();
(async () => {
const ee = new EventEmitter();
// Emit later on
process.nextTick(() => {
ee.emit('foo', 'bar');
ee.emit('foo', 42);
});
for await (const event of on(ee, 'foo', { signal: ac.signal })) {
// The execution of this inner block is synchronous and it
// processes one event at a time (even with await). Do not use
// if concurrent execution is required.
console.log(event); // prints ['bar'] [42]
}
// Unreachable here
})();
process.nextTick(() => ac.abort());
static function on(emitter: EventEmitter<DefaultEventMap>, eventName: string, options?: StaticEventEmitterOptions): AsyncIterableIterator<any>
Parametry
- emitter
-
EventEmitter<DefaultEventMap>
- eventName
-
string
Název události, pro které se naslouchá
- options
-
StaticEventEmitterOptions
Návraty
AsyncIterableIterator<any>
iteruje eventName
události vygenerované emitter
Zděděno z InternalClient.on
on<K>(string | symbol, (args: any[]) => void)
listener
Přidá funkci na konec pole naslouchacích procesů pro událost s názvem eventName
. Neprovedou se žádné kontroly, aby se zjistilo, jestli listener
už byl přidán. Více volání předávajících stejnou kombinaci eventName
a listener
bude mít za listener
následek přidání a volání vícekrá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í volají v pořadí, v jakém jsou přidány. Metoduemitter.prependListener()
lze použít jako alternativu k přidání naslouchacího procesu událostí na začátek pole naslouchacího procesu.
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): ModuleClient
Parametry
- eventName
-
string | symbol
Název události.
- listener
-
(args: any[]) => void
Funkce zpětného volání
Návraty
Zděděno z InternalClient.on
once(EventEmitter<DefaultEventMap>, string | symbol, StaticEventEmitterOptions)
Promise
Vytvoří, který je splněn, když vygeneruje EventEmitter
danou událost nebo která je odmítnuta, pokud EventEmitter
generuje 'error'
během čekání.
Přeloží Promise
se polem všech argumentů vygenerovaných do dané události.
Tato metoda je záměrně obecná a pracuje s rozhraním EventTarget webové platformy, které nemá žádnou zvláštní'error'
sémantiku událostí a neposlouchá 'error'
událost.
import { once, EventEmitter } from 'node:events';
import process from 'node:process';
const ee = new EventEmitter();
process.nextTick(() => {
ee.emit('myevent', 42);
});
const [value] = await once(ee, 'myevent');
console.log(value);
const err = new Error('kaboom');
process.nextTick(() => {
ee.emit('error', err);
});
try {
await once(ee, 'myevent');
} catch (err) {
console.error('error happened', err);
}
Speciální zpracování 'error'
události se používá pouze v případě, že events.once()
se používá k čekání na jinou událost. Pokud events.once()
se používá k čekání naerror'
samotnou událost, považuje se za jakýkoli jiný druh události bez zvláštního zpracování:
import { EventEmitter, once } from 'node:events';
const ee = new EventEmitter();
once(ee, 'error')
.then(([err]) => console.log('ok', err.message))
.catch((err) => console.error('error', err.message));
ee.emit('error', new Error('boom'));
// Prints: ok boom
Můžete AbortSignal
použít k zrušení čekání na událost:
import { EventEmitter, once } from 'node:events';
const ee = new EventEmitter();
const ac = new AbortController();
async function foo(emitter, event, signal) {
try {
await once(emitter, event, { signal });
console.log('event emitted!');
} catch (error) {
if (error.name === 'AbortError') {
console.error('Waiting for the event was canceled!');
} else {
console.error('There was an error', error.message);
}
}
}
foo(ee, 'foo', ac.signal);
ac.abort(); // Abort waiting for the event
ee.emit('foo'); // Prints: Waiting for the event was canceled!
static function once(emitter: EventEmitter<DefaultEventMap>, eventName: string | symbol, options?: StaticEventEmitterOptions): Promise<any[]>
Parametry
- emitter
-
EventEmitter<DefaultEventMap>
- eventName
-
string | symbol
- options
-
StaticEventEmitterOptions
Návraty
Promise<any[]>
Zděděno z InternalClient.once
once(_DOMEventTarget, string, StaticEventEmitterOptions)
static function once(emitter: _DOMEventTarget, eventName: string, options?: StaticEventEmitterOptions): Promise<any[]>
Parametry
- emitter
-
_DOMEventTarget
- eventName
-
string
- options
-
StaticEventEmitterOptions
Návraty
Promise<any[]>
Zděděno z InternalClient.once
once<K>(string | symbol, (args: any[]) => void)
Přidá jednorázovoulistener
funkci pro událost s názvem eventName
. Při příští eventName
aktivaci se tento naslouchací proces odebere a pak 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í volají v pořadí, v jakém jsou přidány. Metoduemitter.prependOnceListener()
lze použít jako alternativu k přidání naslouchacího procesu událostí na začátek pole naslouchacího procesu.
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): ModuleClient
Parametry
- eventName
-
string | symbol
Název události.
- listener
-
(args: any[]) => void
Funkce zpětného volání
Návraty
Zděděno z InternalClient.once
open()
function open(): Promise<Connected>
Návraty
Promise<Connected>
Zděděno z InternalClient.open
open(Callback<Connected>)
function open(openCallback: Callback<Connected>)
Parametry
- openCallback
-
Callback<Connected>
Zděděno z InternalClient.open
prependListener<K>(string | symbol, (args: any[]) => void)
listener
Přidá funkci na začátek pole naslouchacích procesů pro událost s názvem eventName
. Neprovedou se žádné kontroly, aby se zjistilo, jestli listener
už byl přidán. Více volání předávajících stejnou kombinaci eventName
a listener
bude mít za listener
následek přidání a volání vícekrá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): ModuleClient
Parametry
- eventName
-
string | symbol
Název události.
- listener
-
(args: any[]) => void
Funkce zpětného volání
Návraty
Zděděno z InternalClient.prependListener
prependOnceListener<K>(string | symbol, (args: any[]) => void)
Přidá jednorázovoulistener
funkci pro událost s názvem eventName
na začátek pole naslouchacích procesů. Při příštím eventName
aktivaci se tento naslouchací proces odebere a pak 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): ModuleClient
Parametry
- eventName
-
string | symbol
Název události.
- listener
-
(args: any[]) => void
Funkce zpětného volání
Návraty
Zděděno z InternalClient.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, které vytvořil )..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ěno z InternalClient.rawListeners
reject(Message)
function reject(message: Message): Promise<MessageRejected>
Parametry
- message
- Message
Návraty
Promise<MessageRejected>
Zděděno z InternalClient.reject
reject(Message, Callback<MessageRejected>)
function reject(message: Message, rejectCallback: Callback<MessageRejected>)
Parametry
- message
- Message
- rejectCallback
-
Callback<MessageRejected>
Zděděno z InternalClient.reject
removeAllListeners(string | symbol)
Odebere všechny naslouchací procesy nebo naslouchací procesy zadaného eventName
objektu .
Je špatným postupem odebrat naslouchací procesy přidané jinde v kódu, zejména pokud EventEmitter
instanci vytvořila jiná komponenta nebo modul (např. sokety nebo datové proudy souborů).
Vrátí odkaz na EventEmitter
, aby volání bylo možné zřetězený.
function removeAllListeners(eventName?: string | symbol): ModuleClient
Parametry
- eventName
-
string | symbol
Návraty
Zděděno z InternalClient.removeAllListeners
removeListener<K>(string | symbol, (args: any[]) => void)
Odebere zadaný listener
objekt z pole naslouchacího procesu pro událost s názvemeventName
.
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
removeListener()
odebere z pole naslouchacího procesu maximálně 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
, removeListener()
musí být volána vícekrát, aby se každá instance odebrala.
Jakmile je událost vygenerovaná, všechny naslouchací procesy připojené k ní v době generování jsou volány v pořadí. To znamená, že všechnaremoveListener()
volání nebo removeAllListeners()
po vygenerování a před dokončením posledního naslouchacího procesu je neodeberou zemit()
probíhajících. Následující 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 se naslouchací procesy spravují pomocí interního pole, toto volání změní indexy pozic libovolného naslouchacího procesu zaregistrovaného po odebrání naslouchacího procesu. To nebude mít vliv na pořadí, ve kterém jsou volána naslouchací procesy, ale znamená to, že všechny kopie pole naslouchacího procesu vrácené metodou emitter.listeners()
budou muset být znovu vytvořena.
Pokud je jedna funkce přidána jako obslužná rutina vícekrát pro jednu událost (jako v následujícím příkladu), removeListener()
odebere se naposledy přidaná instance. V příkladu once('ping')
je naslouchací proces odebrán:
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): ModuleClient
Parametry
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Návraty
Zděděno z InternalClient.removeListener
sendEvent(Message)
function sendEvent(message: Message): Promise<MessageEnqueued>
Parametry
- message
- Message
Návraty
Promise<MessageEnqueued>
Zděděno z InternalClient.sendEvent
sendEvent(Message, Callback<MessageEnqueued>)
function sendEvent(message: Message, sendEventCallback: Callback<MessageEnqueued>)
Parametry
- message
- Message
- sendEventCallback
-
Callback<MessageEnqueued>
Zděděno z InternalClient.sendEvent
sendEventBatch(Message[])
function sendEventBatch(messages: Message[]): Promise<MessageEnqueued>
Parametry
- messages
-
Message[]
Návraty
Promise<MessageEnqueued>
Zděděno z InternalClient.sendEventBatch
sendEventBatch(Message[], Callback<MessageEnqueued>)
function sendEventBatch(messages: Message[], sendEventBatchCallback: Callback<MessageEnqueued>)
Parametry
- messages
-
Message[]
- sendEventBatchCallback
-
Callback<MessageEnqueued>
Zděděno z InternalClient.sendEventBatch
setMaxListeners(number)
Ve výchozím nastavení EventEmitter
s zobrazí upozornění, pokud je pro konkrétní událost přidáno více naslouchacích 10
procesů. Toto je užitečné výchozí nastavení, které pomáhá najít nevrácenou paměť. Metoda emitter.setMaxListeners()
umožňuje úpravu limitu pro tuto konkrétní EventEmitter
instanci. Hodnota může být nastavena naInfinity
(nebo 0
) a označuje neomezený počet naslouchacích procesů.
Vrátí odkaz na EventEmitter
, aby volání bylo možné zřetězený.
function setMaxListeners(n: number): ModuleClient
Parametry
- n
-
number
Návraty
Zděděno z InternalClient.setMaxListeners
setMaxListeners(number, (EventEmitter<DefaultEventMap> | _DOMEventTarget)[])
import { setMaxListeners, EventEmitter } from 'node:events';
const target = new EventTarget();
const emitter = new EventEmitter();
setMaxListeners(5, target, emitter);
static function setMaxListeners(n?: number, eventTargets: (EventEmitter<DefaultEventMap> | _DOMEventTarget)[])
Parametry
- n
-
number
Nezáporné číslo. Maximální počet naslouchacích procesů na EventTarget
událost.
- eventTargets
-
(EventEmitter<DefaultEventMap> | _DOMEventTarget)[]
Zděděno z InternalClient.setMaxListeners
setRetryPolicy(RetryPolicy)
Nastaví zásady opakování používané klientem pro všechny operace. Výchozí hodnota je ExponentialBackoffWithJitter.
function setRetryPolicy(policy: RetryPolicy)
Parametry
- policy
-
RetryPolicy
{RetryPolicy} Zásady opakování, které by se měly použít pro všechny budoucí operace.
Zděděno z InternalClient.setRetryPolicy
setTransportOptions(any)
function setTransportOptions(options: any): Promise<TransportConfigured>
Parametry
- options
-
any
Návraty
Promise<TransportConfigured>
Zděděno z InternalClient.setTransportOptions
setTransportOptions(any, Callback<TransportConfigured>)
function setTransportOptions(options: any, done: Callback<TransportConfigured>)
Parametry
- options
-
any
- done
-
Callback<TransportConfigured>
Zděděno z InternalClient.setTransportOptions
updateSharedAccessSignature(string, Callback<SharedAccessSignatureUpdated>)
function updateSharedAccessSignature(sharedAccessSignature: string, updateSasCallback?: Callback<SharedAccessSignatureUpdated>)
Parametry
- sharedAccessSignature
-
string
- updateSasCallback
-
Callback<SharedAccessSignatureUpdated>
Zděděno z InternalClient.updateSharedAccessSignature
[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 InternalClient.__@captureRejectionSymbol@138