Sdílet prostřednictvím


ModuleClient class

Klient zařízení služby IoT Hub používaný k připojení zařízení k centru Azure IoT.

Uživatelé sady SDK by měli volat jednu z metod továrny, zconnectionString nebo zesharedAccessSignature vytvořit klienta zařízení IoT Hubu.

Extends

InternalClient

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.

fromAuthenticationProvider(AuthenticationProvider, any)

Vytvoří klienta modulu IoT Hub z dané metody ověřování a použije daný typ přenosu.

fromConnectionString(string, any)

Vytvoří klienta zařízení IoT Hubu z daného připojovacího řetězce pomocí daného typu přenosu.

fromEnvironment(any)
fromEnvironment(any, Callback<ModuleClient>)

Vytvoří klienta modulu IoT Hub pomocí informací o konfiguraci z prostředí.

Pokud existuje proměnná prostředí s názvem EdgeHubConnectionString nebo IotHubConnectionString, 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"
fromSharedAccessSignature(string, any)

Vytvoří klienta modulu IoT Hubu z daného sdíleného přístupového podpisu pomocí daného typu přenosu.

invokeMethod(string, MethodParams)
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.

invokeMethod(string, string, MethodParams)
invokeMethod(string, string, MethodParams, Callback<MethodResult>)
onMethod(string, DoubleValueCallback<DeviceMethodRequest, DeviceMethodResponse>)

Zaregistruje zpětné volání metody s názvem methodName.

sendOutputEvent(string, Message)
sendOutputEvent(string, Message, Callback<MessageEnqueued>)

Odešle událost do výstupu daného modulu.

sendOutputEventBatch(string, Message[])
sendOutputEventBatch(string, Message[], Callback<MessageEnqueued>)

Odešle pole událostí do výstupu daného modulu.

setOptions(DeviceClientOptions)
setOptions(DeviceClientOptions, Callback<TransportConfigured>)

Předá možnosti ModuleClient objektu, který lze použít ke konfiguraci přenosu.

Zděděné metody

abandon(Message)
abandon(Message, Callback<MessageAbandoned>)
addListener<E>(string | symbol, (args: any[]) => void)

Alias pro emitter.on(eventName, listener).

complete(Message)
complete(Message, Callback<MessageCompleted>)
emit<E>(string | symbol, any[])

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
eventNames()

Vrátí pole se seznamem událostí, pro které má emiter zaregistrované naslouchací procesy.

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) ]
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 events.defaultMaxListeners.

getTwin()
getTwin(Callback<Twin>)
listenerCount<E>(string | symbol, (args: any[]) => void)

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.

listeners<E>(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] ]
off<E>(string | symbol, (args: any[]) => void)

Alias pro emitter.removeListener().

on<E>(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
once<E>(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
open()
open(Callback<Connected>)
prependListener<E>(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ý.

prependOnceListener<E>(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ý.

rawListeners<E>(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');
reject(Message)
reject(Message, Callback<MessageRejected>)
removeAllListeners<E>(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ý.

removeListener<E>(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 žádné removeListener() nebo volání removeAllListeners() vysílání a před dokončením posledního posluchače je neodstraní z emit() probíhajících. 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

Protože jsou posluchači spravováni pomocí interního pole, volání tohoto pole změní poziční indexy každého posluchače registrovaného po jeho odstranění. 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ý.

sendEvent(Message)
sendEvent(Message, Callback<MessageEnqueued>)
sendEventBatch(Message[])
sendEventBatch(Message[], Callback<MessageEnqueued>)
setMaxListeners(number)

Ve výchozím nastavení EventEmitters 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ý.

setRetryPolicy(RetryPolicy)

Nastaví zásadu opakování používanou klientem pro všechny operace. Výchozí hodnota je ExponentialBackoffWithJitter.

setTransportOptions(any)
setTransportOptions(any, Callback<TransportConfigured>)
updateSharedAccessSignature(string, Callback<SharedAccessSignatureUpdated>)
[captureRejectionSymbol](Error, string | symbol, any[])

Metoda Symbol.for('nodejs.rejection') se používá v případě, že při vysílání události dojde k odmítnutí slibu a captureRejections je na emitoru povolena. Je možné použít events.captureRejectionSymbol místo .Symbol.for('nodejs.rejection')

import { EventEmitter, captureRejectionSymbol } from 'node:events';

class MyClass extends EventEmitter {
  constructor() {
    super({ captureRejections: true });
  }

  [captureRejectionSymbol](err, event, ...args) {
    console.log('rejection happened for', event, 'with', err, ...args);
    this.destroy(err);
  }

  destroy(err) {
    // Tear the resource down here.
  }
}

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 po odpojení přenosu a zavření klienta.

fromAuthenticationProvider(AuthenticationProvider, any)

Vytvoří klienta modulu IoT Hub z dané metody ověřování a použije daný typ 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

Přenosový protokol používaný k připojení k IoT Hubu

Návraty

fromConnectionString(string, any)

Vytvoří klienta zařízení IoT Hubu z daného připojovacího řetězce pomocí 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í "device connect" v centru IoT.

transportCtor

any

Dopravní konstruktor.

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í informací o konfiguraci z prostředí.

Pokud existuje proměnná prostředí s názvem EdgeHubConnectionString nebo IotHubConnectionString, 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

Přenosový protokol používaný k připojení k IoT Hubu

callback

Callback<ModuleClient>

Volitelné zpětné volání, které se má vyvolat při vytváření klienta moduleClient nebo pokud dojde k chybě při vytváření klienta.

fromSharedAccessSignature(string, any)

Vytvoří klienta modulu IoT Hubu 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í "device connect" v centru IoT.

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ána 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í metody s názvem methodName.

function onMethod(methodName: string, callback: DoubleValueCallback<DeviceMethodRequest, DeviceMethodResponse>)

Parametry

methodName

string

Název metody, která bude zpracována zpětným voláním

callback

DoubleValueCallback<DeviceMethodRequest, DeviceMethodResponse>

Funkce, která se volá při každém přijetí požadavku metody na metodu s názvem methodName.

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 pro odeslání do daného výstupu

callback

Callback<MessageEnqueued>

Volitelná funkce, která se má volat, když byla 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

Návraty

Promise<TransportConfigured>

setOptions(DeviceClientOptions, Callback<TransportConfigured>)

Předá možnosti ModuleClient objektu, který lze použít ke konfiguraci přenosu.

function setOptions(options: DeviceClientOptions, done?: Callback<TransportConfigured>)

Parametry

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

addListener<E>(string | symbol, (args: any[]) => void)

Alias pro emitter.on(eventName, listener).

function addListener<E>(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<E>(string | symbol, any[])

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<E>(eventName: string | symbol, args: any[]): boolean

Parametry

eventName

string | symbol

args

any[]

Návraty

boolean

zděděno z InternalClient.emit

eventNames()

Vrátí pole se seznamem událostí, pro které má emiter zaregistrované naslouchací procesy.

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ěné z InternalClient.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 events.defaultMaxListeners.

function getMaxListeners(): number

Návraty

number

zděděné z InternalClient.getMaxListeners

getTwin()

function getTwin(): Promise<Twin>

Návraty

Promise<Twin>

zděděno z InternalClient.getTwin

getTwin(Callback<Twin>)

function getTwin(done: Callback<Twin>)

Parametry

done

Callback<Twin>

zděděno z InternalClient.getTwin

listenerCount<E>(string | symbol, (args: any[]) => void)

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<E>(eventName: string | symbol, listener?: (args: any[]) => void): number

Parametry

eventName

string | symbol

Název události, pro kterou se naslouchá

listener

(args: any[]) => void

Funkce obslužné rutiny události

Návraty

number

zděděno z InternalClient.listenerCount

listeners<E>(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<E>(eventName: string | symbol): (args: any[]) => void[]

Parametry

eventName

string | symbol

Návraty

(args: any[]) => void[]

zděděné z InternalClient.listeners

off<E>(string | symbol, (args: any[]) => void)

Alias pro emitter.removeListener().

function off<E>(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<E>(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<E>(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<E>(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<E>(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<E>(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<E>(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<E>(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<E>(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<E>(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<E>(eventName: string | symbol): (args: any[]) => void[]

Parametry

eventName

string | symbol

Návraty

(args: any[]) => void[]

zděděné 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<E>(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<E>(eventName?: string | symbol): ModuleClient

Parametry

eventName

string | symbol

Návraty

zděděno z InternalClient.removeAllListeners

removeListener<E>(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 žádné removeListener() nebo volání removeAllListeners() vysílání a před dokončením posledního posluchače je neodstraní z emit() probíhajících. 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

Protože jsou posluchači spravováni pomocí interního pole, volání tohoto pole změní poziční indexy každého posluchače registrovaného po jeho odstranění. 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<E>(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í EventEmitters 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): ModuleClient

Parametry

n

number

Návraty

zděděno z InternalClient.setMaxListeners

setRetryPolicy(RetryPolicy)

Nastaví zásadu opakování používanou 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](Error, string | symbol, any[])

Metoda Symbol.for('nodejs.rejection') se používá v případě, že při vysílání události dojde k odmítnutí slibu a captureRejections je na emitoru povolena. Je možné použít events.captureRejectionSymbol místo .Symbol.for('nodejs.rejection')

import { EventEmitter, captureRejectionSymbol } from 'node:events';

class MyClass extends EventEmitter {
  constructor() {
    super({ captureRejections: true });
  }

  [captureRejectionSymbol](err, event, ...args) {
    console.log('rejection happened for', event, 'with', err, ...args);
    this.destroy(err);
  }

  destroy(err) {
    // Tear the resource down here.
  }
}
function [captureRejectionSymbol](error: Error, event: string | symbol, args: any[])

Parametry

error

Error

event

string | symbol

args

any[]

Děděno od InternalClient.__@captureRejectionSymbol@129