Megosztás a következőn keresztül:


Client class

Az IoT Hub szolgáltatásügyfél használatával kommunikálhat az eszközökkel egy Azure IoT Hubon keresztül. Lehetővé teszi, hogy az SDK-felhasználó:

  • felhőből eszközre (más néven parancsok) küldése az eszközökre: a parancsok várólistára kerülnek az IoT Hubon, és aszinkron módon csak akkor lesznek kézbesítve, ha az eszköz csatlakoztatva van. Eszközönként csak 50 parancs állítható várólistára.
  • közvetlen metódusok meghívása az eszközökön (amelyek csak akkor működnek, ha az eszköz jelenleg csatlakoztatva van: szinkron módon kommunikál az eszközzel)
  • figyelheti az eszközök által a korábbi parancsokhoz küldött visszajelzési üzeneteket.
  • figyelheti az eszközökről érkező fájlfeltöltési értesítéseket.

A felhasználóknak új Client példányokat kell létrehozniuk az egyik gyári metódus meghívásával, aConnectionString vagy ASharedAccessSignaturehasználatával, hogy létrehozzák az IoT Hub szolgáltatásügyfélt.

Extends

EventEmitter

Metódusok

close()
close(IncomingMessageCallback<Disconnected>)

Bezárja a kapcsolatot egy IoT Hubbal.

fromConnectionString(string, TransportCtor)

Létrehoz egy IoT Hub szolgáltatásügyfélt a megadott kapcsolati sztringből az alapértelmezett átvitel (Amqp) vagy a második argumentumban megadott használatával.

fromSharedAccessSignature(string, TransportCtor)

Létrehoz egy IoT Hub szolgáltatásügyfélt a megadott közös hozzáférésű jogosultságkódból az alapértelmezett átvitel (Amqp) vagy a második argumentumban megadott használatával.

fromTokenCredential(string, TokenCredential, TransportCtor)

Létrehoz egy IoT Hub szolgáltatásügyfélt az adott Azure tokenCredentialból az alapértelmezett átvitel (Amqp) vagy a második argumentumban megadott használatával.

getFeedbackReceiver()
getFeedbackReceiver(IncomingMessageCallback<ServiceReceiver>)

Egy AmqpReceiver objektumot ad vissza, amely eseményeket bocsát ki, amikor az ügyfél új visszajelzési üzeneteket fogad.

getFileNotificationReceiver()
getFileNotificationReceiver(IncomingMessageCallback<ServiceReceiver>)

Egy AmqpReceiver objektumot ad vissza, amely eseményeket bocsát ki, amikor az ügyfél új fájlfeltöltési értesítéseket kap.

invokeDeviceMethod(string, DeviceMethodParams)
invokeDeviceMethod(string, DeviceMethodParams, IncomingMessageCallback<any>)

Metódust hív meg egy adott eszközön vagy modulon.

invokeDeviceMethod(string, string, DeviceMethodParams)
invokeDeviceMethod(string, string, DeviceMethodParams, IncomingMessageCallback<any>)
open()
open(IncomingMessageCallback<Connected>)

Megnyitja az IoT Hubhoz való kapcsolatot.

send(string, Message | BufferConvertible)
send(string, Message | BufferConvertible, IncomingMessageCallback<MessageEnqueued>)

Üzenetet küld egy eszköznek.

setRetryPolicy(RetryPolicy)

Állítsa be az ügyfél által a hálózati műveletek újrapróbálkozásához használt házirendet.

Örökölt metódusok

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

Alias a következőhöz emitter.on(eventName, listener): .

emit<E>(string | symbol, any[])

Szinkron módon meghívja a eventNamenevű eseményre regisztrált összes figyelőt, a regisztráció sorrendjében, és átadja a megadott argumentumokat mindegyiknek.

true ad vissza, ha az esemény figyelői voltak, false ellenkező esetben.

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

Egy tömböt ad vissza, amely felsorolja azokat az eseményeket, amelyekhez az emitter regisztrált figyelőket.

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

A EventEmitter aktuális maximális figyelőértékét adja vissza, amelyet emitter.setMaxListeners(n) vagy alapértelmezés szerint events.defaultMaxListenersértékre állít be.

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

A eventNamenevű eseményt figyelő figyelők számát adja vissza. Ha listener van megadva, az visszaadja, hogy hányszor található a figyelő az esemény figyelőinek listájában.

listeners<E>(string | symbol)

A eventNamenevű esemény figyelőinek tömbjének másolatát adja vissza.

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 a következőhöz emitter.removeListener(): .

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

Hozzáadja a listener függvényt a eventNamenevű esemény figyelőtömbjének végéhez. Nem történik ellenőrzés annak ellenőrzésére, hogy a listener már hozzáadták-e. A eventName és a listener azonos kombinációját átadó hívások több alkalommal is hozzáadják és meghívják a listener.

server.on('connection', (stream) => {
  console.log('someone connected!');
});

A EventEmittermutató hivatkozást ad vissza, hogy a hívások láncoltak legyenek.

Alapértelmezés szerint az eseményfigyelők a hozzáadásuk sorrendjében lesznek meghívva. A emitter.prependListener() metódus alternatívaként használható az eseményfigyelő hozzáadásához a figyelőtömb elejéhez.

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)

Hozzáad egy egyszerilistener függvényt a eventNamenevű eseményhez. A következő eventName aktiválásakor a figyelő el lesz távolítva, majd meghívódik.

server.once('connection', (stream) => {
  console.log('Ah, we have our first user!');
});

A EventEmittermutató hivatkozást ad vissza, hogy a hívások láncoltak legyenek.

Alapértelmezés szerint az eseményfigyelők a hozzáadásuk sorrendjében lesznek meghívva. A emitter.prependOnceListener() metódus alternatívaként használható az eseményfigyelő hozzáadásához a figyelőtömb elejéhez.

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

Hozzáadja a függvényt a nevű esemény figyelőtömbjének . Nem történik ellenőrzés annak ellenőrzésére, hogy a listener már hozzáadták-e. A eventName és a listener azonos kombinációját átadó hívások több alkalommal is hozzáadják és meghívják a listener.

server.prependListener('connection', (stream) => {
  console.log('someone connected!');
});

A EventEmittermutató hivatkozást ad vissza, hogy a hívások láncoltak legyenek.

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

Hozzáad egy egyszeri függvényt a figyelőtömb nevű eseményhez. A következő eventName aktiválásakor a figyelő el lesz távolítva, majd meghívódik.

server.prependOnceListener('connection', (stream) => {
  console.log('Ah, we have our first user!');
});

A EventEmittermutató hivatkozást ad vissza, hogy a hívások láncoltak legyenek.

rawListeners<E>(string | symbol)

Visszaadja a eventNamenevű esemény figyelőinek tömbjének másolatát, beleértve a burkolókat is (például az .once()által létrehozottakat).

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');
removeAllListeners<E>(string | symbol)

Eltávolítja az összes figyelőt vagy a megadott eventName.

Helytelen gyakorlat eltávolítani a kód más részeiben hozzáadott figyelőket, különösen akkor, ha a EventEmitter-példányt más összetevő vagy modul hozta létre (például szoftvercsatornák vagy fájlstreamek).

A EventEmittermutató hivatkozást ad vissza, hogy a hívások láncoltak legyenek.

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

Eltávolítja a megadott listener a eventNamenevű esemény figyelőtömbéből.

const callback = (stream) => {
  console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);

removeListener() legfeljebb egy figyelőpéldányt távolít el a figyelőtömbből. Ha a megadott eventNameegyetlen figyelőt többször is hozzáadtak a figyelőtömbhöz, akkor az egyes példányok eltávolításához removeListener() többször kell meghívni.

Ha egy eseményt bocsát ki, a rendszer sorrendben meghívja a kibocsátáskor az ahhoz csatolt összes figyelőt. Ez azt jelenti, hogy removeListener()removeAllListeners() a hívások a kibocsátás után, mielőtt az utolsó hallgató befejezi a végrehajtást, nem távolítják el a emit() folyamatból. A későbbi események a várt módon viselkednek.

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

Mivel a hallgatókat belső tömbben kezelik, ennek meghívása megváltoztatja bármely hallgató pozícióindexét , amelyet a hallgató eltávolítása után regisztrálnak. Ez nem befolyásolja a figyelők meghívásának sorrendjét, de ez azt jelenti, hogy a figyelőtömbnek az emitter.listeners() metódus által visszaadott másolatait újra létre kell hozni.

Ha egyetlen függvényt többször adtak hozzá kezelőként egyetlen eseményhez (az alábbi példához hasonlóan), removeListener() eltávolítja a legutóbb hozzáadott példányt. A példában a once('ping') figyelő el lesz távolítva:

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');

A EventEmittermutató hivatkozást ad vissza, hogy a hívások láncoltak legyenek.

setMaxListeners(number)

Alapértelmezés szerint EventEmitters figyelmeztetést jelenít meg, ha egy adott eseményhez több mint 10 figyelő van hozzáadva. Ez egy hasznos alapértelmezett beállítás, amely segít megtalálni a memóriavesztést. A emitter.setMaxListeners() metódus lehetővé teszi a korlát módosítását ehhez az adott EventEmitter példányhoz. Az érték beállítható Infinity (vagy 0) értékre, hogy korlátlan számú figyelőt jelöljön.

A EventEmittermutató hivatkozást ad vissza, hogy a hívások láncoltak legyenek.

[captureRejectionSymbol](Error, string | symbol, any[])

A Symbol.for('nodejs.rejection') módszert akkor hívják el, ha ígéretelutasítás történik esemény kibocsátásakor, és captureRejections az emitterben engedélyezett. Lehetséges a events.captureRejectionSymbolSymbol.for('nodejs.rejection')helyett használni.

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.
  }
}

Metódus adatai

close()

function close(): Promise<ResultWithIncomingMessage<Disconnected>>

Válaszok

Promise<ResultWithIncomingMessage<Disconnected>>

close(IncomingMessageCallback<Disconnected>)

Bezárja a kapcsolatot egy IoT Hubbal.

function close(done?: IncomingMessageCallback<Disconnected>)

Paraméterek

done

IncomingMessageCallback<Disconnected>

A művelet befejezésekor hívandó opcionális függvény. done hibaüzenet objektumargumentumot ad át, amely null értékű lesz, ha a művelet sikeresen befejeződött.

fromConnectionString(string, TransportCtor)

Létrehoz egy IoT Hub szolgáltatásügyfélt a megadott kapcsolati sztringből az alapértelmezett átvitel (Amqp) vagy a második argumentumban megadott használatával.

static function fromConnectionString(connStr: string, transportCtor?: TransportCtor): Client

Paraméterek

connStr

string

Egy kapcsolati sztring, amely az "eszközcsatlakozás" engedélyeket foglalja magában egy IoT Hubon.

transportCtor
TransportCtor

Válaszok

fromSharedAccessSignature(string, TransportCtor)

Létrehoz egy IoT Hub szolgáltatásügyfélt a megadott közös hozzáférésű jogosultságkódból az alapértelmezett átvitel (Amqp) vagy a második argumentumban megadott használatával.

static function fromSharedAccessSignature(sharedAccessSignature: string, transportCtor?: TransportCtor): Client

Paraméterek

sharedAccessSignature

string

Közös hozzáférésű jogosultságkód, amely a "service connect" engedélyeket foglalja magában egy IoT Hubon.

transportCtor
TransportCtor

Válaszok

fromTokenCredential(string, TokenCredential, TransportCtor)

Létrehoz egy IoT Hub szolgáltatásügyfélt az adott Azure tokenCredentialból az alapértelmezett átvitel (Amqp) vagy a második argumentumban megadott használatával.

static function fromTokenCredential(hostName: string, tokenCredential: TokenCredential, transportCtor?: TransportCtor): Client

Paraméterek

hostName

string

Az Azure-szolgáltatás állomásneve.

tokenCredential
TokenCredential

Az Azure-szolgáltatással való hitelesítéshez használt Azure TokenCredential

transportCtor
TransportCtor

Válaszok

getFeedbackReceiver()

function getFeedbackReceiver(): Promise<ResultWithIncomingMessage<ServiceReceiver>>

Válaszok

Promise<ResultWithIncomingMessage<ServiceReceiver>>

getFeedbackReceiver(IncomingMessageCallback<ServiceReceiver>)

Egy AmqpReceiver objektumot ad vissza, amely eseményeket bocsát ki, amikor az ügyfél új visszajelzési üzeneteket fogad.

function getFeedbackReceiver(done?: IncomingMessageCallback<ServiceReceiver>)

Paraméterek

done

IncomingMessageCallback<ServiceReceiver>

A művelet befejezésekor hívandó opcionális függvény. done két argumentummal lesz meghívva: egy Hibaobjektum (lehet null) és egy AmqpReceiver objektum.

getFileNotificationReceiver()

function getFileNotificationReceiver(): Promise<ResultWithIncomingMessage<ServiceReceiver>>

Válaszok

Promise<ResultWithIncomingMessage<ServiceReceiver>>

getFileNotificationReceiver(IncomingMessageCallback<ServiceReceiver>)

Egy AmqpReceiver objektumot ad vissza, amely eseményeket bocsát ki, amikor az ügyfél új fájlfeltöltési értesítéseket kap.

function getFileNotificationReceiver(done?: IncomingMessageCallback<ServiceReceiver>)

Paraméterek

done

IncomingMessageCallback<ServiceReceiver>

A művelet befejezésekor hívandó opcionális függvény. done két argumentummal lesz meghívva: egy Hibaobjektum (lehet null) és egy AmqpReceiver objektum.

invokeDeviceMethod(string, DeviceMethodParams)

function invokeDeviceMethod(deviceId: string, methodParams: DeviceMethodParams): Promise<ResultWithIncomingMessage<any>>

Paraméterek

deviceId

string

methodParams
DeviceMethodParams

Válaszok

Promise<ResultWithIncomingMessage<any>>

invokeDeviceMethod(string, DeviceMethodParams, IncomingMessageCallback<any>)

Metódust hív meg egy adott eszközön vagy modulon.

function invokeDeviceMethod(deviceId: string, methodParams: DeviceMethodParams, done?: IncomingMessageCallback<any>)

Paraméterek

deviceId

string

Egy meglévő eszközidentitás azonosítója.

methodParams
DeviceMethodParams
done

IncomingMessageCallback<any>

Az opcionális visszahívás, amely a metódus végrehajtásának eredményével hívható meg.

invokeDeviceMethod(string, string, DeviceMethodParams)

function invokeDeviceMethod(deviceId: string, moduleId: string, methodParams: DeviceMethodParams): Promise<ResultWithIncomingMessage<any>>

Paraméterek

deviceId

string

moduleId

string

methodParams
DeviceMethodParams

Válaszok

Promise<ResultWithIncomingMessage<any>>

invokeDeviceMethod(string, string, DeviceMethodParams, IncomingMessageCallback<any>)

function invokeDeviceMethod(deviceId: string, moduleId: string, methodParams: DeviceMethodParams, done: IncomingMessageCallback<any>)

Paraméterek

deviceId

string

moduleId

string

methodParams
DeviceMethodParams
done

IncomingMessageCallback<any>

open()

function open(): Promise<ResultWithIncomingMessage<Connected>>

Válaszok

Promise<ResultWithIncomingMessage<Connected>>

open(IncomingMessageCallback<Connected>)

Megnyitja az IoT Hubhoz való kapcsolatot.

function open(done?: IncomingMessageCallback<Connected>)

Paraméterek

done

IncomingMessageCallback<Connected>

A művelet befejezésekor hívandó opcionális függvény. done hibaüzenet objektumargumentumot ad át, amely null értékű lesz, ha a művelet sikeresen befejeződött.

send(string, Message | BufferConvertible)

function send(deviceId: string, message: Message | BufferConvertible): Promise<ResultWithIncomingMessage<MessageEnqueued>>

Paraméterek

deviceId

string

message

Message | BufferConvertible

Válaszok

Promise<ResultWithIncomingMessage<MessageEnqueued>>

send(string, Message | BufferConvertible, IncomingMessageCallback<MessageEnqueued>)

Üzenetet küld egy eszköznek.

function send(deviceId: string, message: Message | BufferConvertible, done?: IncomingMessageCallback<MessageEnqueued>)

Paraméterek

deviceId

string

Egy meglévő eszközidentitás azonosítója.

message

Message | BufferConvertible

Az eszköznek küldendő üzenet törzse. Ha message nem üzenettípusú, akkor a rendszer átalakítja.

done

IncomingMessageCallback<MessageEnqueued>

A művelet befejezésekor hívandó opcionális függvény. done két argumentummal hívjuk meg: egy hibaobjektum (lehet null) és egy átvitelspecifikus válaszobjektum, amely a naplózáshoz vagy a hibakereséshez hasznos.

setRetryPolicy(RetryPolicy)

Állítsa be az ügyfél által a hálózati műveletek újrapróbálkozásához használt házirendet.

function setRetryPolicy(policy: RetryPolicy)

Paraméterek

policy

RetryPolicy

újrapróbálkozási műveletekhez használt szabályzat (pl. megnyitás, küldés stb.). Az SDK 2 "beépített" szabályzattal rendelkezik: ExponenciálisBackoffWithJitter (alapértelmezett) és NoRetry (az újrapróbálkozás bármely formájának megszakításához). A felhasználó a saját objektumát is átadhatja, ha 2 metódust implementál: - shouldRetry(err: Hiba): logikai: azt jelzi, hogy a műveletet újra kell-e próbálkozni a hibatípus alapján - nextRetryTimeout(retryCount: number, szabályozott: logikai érték: szám: a várakozási időt adja vissza (ezredmásodpercben) az újrapróbálkozás előtt a korábbi kísérletek száma (retryCount) alapján, valamint azt a tényt, hogy a hiba szabályozási hiba vagy sem.

Örökölt metódus részletei

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

Alias a következőhöz emitter.on(eventName, listener): .

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

Paraméterek

eventName

string | symbol

listener

(args: any[]) => void

Válaszok

örökölt EventEmitter.addListener

emit<E>(string | symbol, any[])

Szinkron módon meghívja a eventNamenevű eseményre regisztrált összes figyelőt, a regisztráció sorrendjében, és átadja a megadott argumentumokat mindegyiknek.

true ad vissza, ha az esemény figyelői voltak, false ellenkező esetben.

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

Paraméterek

eventName

string | symbol

args

any[]

Válaszok

boolean

örökölt EventEmitter.emit

eventNames()

Egy tömböt ad vissza, amely felsorolja azokat az eseményeket, amelyekhez az emitter regisztrált figyelőket.

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)[]

Válaszok

(string | symbol)[]

örökölt EventEmitter.eventNames

getMaxListeners()

A EventEmitter aktuális maximális figyelőértékét adja vissza, amelyet emitter.setMaxListeners(n) vagy alapértelmezés szerint events.defaultMaxListenersértékre állít be.

function getMaxListeners(): number

Válaszok

number

Örökölt EventEmitter.getMaxListeners

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

A eventNamenevű eseményt figyelő figyelők számát adja vissza. Ha listener van megadva, az visszaadja, hogy hányszor található a figyelő az esemény figyelőinek listájában.

function listenerCount<E>(eventName: string | symbol, listener?: (args: any[]) => void): number

Paraméterek

eventName

string | symbol

A figyelt esemény neve

listener

(args: any[]) => void

Az eseménykezelő függvény

Válaszok

number

örökölt EventEmitter.listenerCount

listeners<E>(string | symbol)

A eventNamenevű esemény figyelőinek tömbjének másolatát adja vissza.

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[]

Paraméterek

eventName

string | symbol

Válaszok

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

örökölt EventEmitter.listeners

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

Alias a következőhöz emitter.removeListener(): .

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

Paraméterek

eventName

string | symbol

listener

(args: any[]) => void

Válaszok

örökölt EventEmitter.off

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

Hozzáadja a listener függvényt a eventNamenevű esemény figyelőtömbjének végéhez. Nem történik ellenőrzés annak ellenőrzésére, hogy a listener már hozzáadták-e. A eventName és a listener azonos kombinációját átadó hívások több alkalommal is hozzáadják és meghívják a listener.

server.on('connection', (stream) => {
  console.log('someone connected!');
});

A EventEmittermutató hivatkozást ad vissza, hogy a hívások láncoltak legyenek.

Alapértelmezés szerint az eseményfigyelők a hozzáadásuk sorrendjében lesznek meghívva. A emitter.prependListener() metódus alternatívaként használható az eseményfigyelő hozzáadásához a figyelőtömb elejéhez.

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): Client

Paraméterek

eventName

string | symbol

Az esemény neve.

listener

(args: any[]) => void

A visszahívási függvény

Válaszok

örökölt EventEmitter.on

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

Hozzáad egy egyszerilistener függvényt a eventNamenevű eseményhez. A következő eventName aktiválásakor a figyelő el lesz távolítva, majd meghívódik.

server.once('connection', (stream) => {
  console.log('Ah, we have our first user!');
});

A EventEmittermutató hivatkozást ad vissza, hogy a hívások láncoltak legyenek.

Alapértelmezés szerint az eseményfigyelők a hozzáadásuk sorrendjében lesznek meghívva. A emitter.prependOnceListener() metódus alternatívaként használható az eseményfigyelő hozzáadásához a figyelőtömb elejéhez.

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): Client

Paraméterek

eventName

string | symbol

Az esemény neve.

listener

(args: any[]) => void

A visszahívási függvény

Válaszok

örökölt EventEmitter.once

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

Hozzáadja a függvényt a nevű esemény figyelőtömbjének . Nem történik ellenőrzés annak ellenőrzésére, hogy a listener már hozzáadták-e. A eventName és a listener azonos kombinációját átadó hívások több alkalommal is hozzáadják és meghívják a listener.

server.prependListener('connection', (stream) => {
  console.log('someone connected!');
});

A EventEmittermutató hivatkozást ad vissza, hogy a hívások láncoltak legyenek.

function prependListener<E>(eventName: string | symbol, listener: (args: any[]) => void): Client

Paraméterek

eventName

string | symbol

Az esemény neve.

listener

(args: any[]) => void

A visszahívási függvény

Válaszok

örökölt EventEmitter.prependListener

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

Hozzáad egy egyszeri függvényt a figyelőtömb nevű eseményhez. A következő eventName aktiválásakor a figyelő el lesz távolítva, majd meghívódik.

server.prependOnceListener('connection', (stream) => {
  console.log('Ah, we have our first user!');
});

A EventEmittermutató hivatkozást ad vissza, hogy a hívások láncoltak legyenek.

function prependOnceListener<E>(eventName: string | symbol, listener: (args: any[]) => void): Client

Paraméterek

eventName

string | symbol

Az esemény neve.

listener

(args: any[]) => void

A visszahívási függvény

Válaszok

örökölt EventEmitter.prependOnceListener

rawListeners<E>(string | symbol)

Visszaadja a eventNamenevű esemény figyelőinek tömbjének másolatát, beleértve a burkolókat is (például az .once()által létrehozottakat).

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[]

Paraméterek

eventName

string | symbol

Válaszok

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

örökölt EventEmitter.rawListeners

removeAllListeners<E>(string | symbol)

Eltávolítja az összes figyelőt vagy a megadott eventName.

Helytelen gyakorlat eltávolítani a kód más részeiben hozzáadott figyelőket, különösen akkor, ha a EventEmitter-példányt más összetevő vagy modul hozta létre (például szoftvercsatornák vagy fájlstreamek).

A EventEmittermutató hivatkozást ad vissza, hogy a hívások láncoltak legyenek.

function removeAllListeners<E>(eventName?: string | symbol): Client

Paraméterek

eventName

string | symbol

Válaszok

Örökölt EventEmitter.removeAllListeners

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

Eltávolítja a megadott listener a eventNamenevű esemény figyelőtömbéből.

const callback = (stream) => {
  console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);

removeListener() legfeljebb egy figyelőpéldányt távolít el a figyelőtömbből. Ha a megadott eventNameegyetlen figyelőt többször is hozzáadtak a figyelőtömbhöz, akkor az egyes példányok eltávolításához removeListener() többször kell meghívni.

Ha egy eseményt bocsát ki, a rendszer sorrendben meghívja a kibocsátáskor az ahhoz csatolt összes figyelőt. Ez azt jelenti, hogy removeListener()removeAllListeners() a hívások a kibocsátás után, mielőtt az utolsó hallgató befejezi a végrehajtást, nem távolítják el a emit() folyamatból. A későbbi események a várt módon viselkednek.

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

Mivel a hallgatókat belső tömbben kezelik, ennek meghívása megváltoztatja bármely hallgató pozícióindexét , amelyet a hallgató eltávolítása után regisztrálnak. Ez nem befolyásolja a figyelők meghívásának sorrendjét, de ez azt jelenti, hogy a figyelőtömbnek az emitter.listeners() metódus által visszaadott másolatait újra létre kell hozni.

Ha egyetlen függvényt többször adtak hozzá kezelőként egyetlen eseményhez (az alábbi példához hasonlóan), removeListener() eltávolítja a legutóbb hozzáadott példányt. A példában a once('ping') figyelő el lesz távolítva:

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');

A EventEmittermutató hivatkozást ad vissza, hogy a hívások láncoltak legyenek.

function removeListener<E>(eventName: string | symbol, listener: (args: any[]) => void): Client

Paraméterek

eventName

string | symbol

listener

(args: any[]) => void

Válaszok

örökölt EventEmitter.removeListener

setMaxListeners(number)

Alapértelmezés szerint EventEmitters figyelmeztetést jelenít meg, ha egy adott eseményhez több mint 10 figyelő van hozzáadva. Ez egy hasznos alapértelmezett beállítás, amely segít megtalálni a memóriavesztést. A emitter.setMaxListeners() metódus lehetővé teszi a korlát módosítását ehhez az adott EventEmitter példányhoz. Az érték beállítható Infinity (vagy 0) értékre, hogy korlátlan számú figyelőt jelöljön.

A EventEmittermutató hivatkozást ad vissza, hogy a hívások láncoltak legyenek.

function setMaxListeners(n: number): Client

Paraméterek

n

number

Válaszok

Örökölt EventEmitter.setMaxListeners

[captureRejectionSymbol](Error, string | symbol, any[])

A Symbol.for('nodejs.rejection') módszert akkor hívják el, ha ígéretelutasítás történik esemény kibocsátásakor, és captureRejections az emitterben engedélyezett. Lehetséges a events.captureRejectionSymbolSymbol.for('nodejs.rejection')helyett használni.

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[])

Paraméterek

error

Error

event

string | symbol

args

any[]

Örökölt EventEmitter.__@captureRejectionSymbol@88