ModuleClient class
IoT Hub-apparaatclient die wordt gebruikt om een apparaat te verbinden met een Azure IoT-hub.
Gebruikers van de SDK moeten een van de factory-methoden aanroepen, fromConnectionString of fromSharedAccessSignature om een IoT Hub-apparaatclient te maken.
- Uitbreiding
-
InternalClient
Methoden
| close() | |
| close(Callback<Disconnected>) | Sluit de transportverbinding en vernietigt de clientbronnen. Opmerking: nadat u deze methode hebt aangeroepen, kan het ModuleClient-object niet opnieuw worden gebruikt. |
| from |
Hiermee maakt u een IoT Hub-moduleclient op basis van de opgegeven verificatiemethode en gebruikt u het opgegeven transporttype. |
| from |
Hiermee maakt u een IoT Hub-apparaatclient op basis van de opgegeven verbindingsreeks met behulp van het opgegeven transporttype. |
| from |
|
| from |
Hiermee maakt u een IoT Hub-moduleclient met behulp van configuratiegegevens uit de omgeving. Als er een omgevingsvariabele met de naam
|
| from |
Hiermee maakt u een IoT Hub-moduleclient op basis van de opgegeven handtekening voor gedeelde toegang met behulp van het opgegeven transporttype. |
| invoke |
|
| invoke |
Roept een methode aan op een downstreamapparaat of op een andere module op hetzelfde IoTEdge-apparaat. Houd er rekening mee dat deze functie alleen werkt wanneer de module wordt uitgevoerd als onderdeel van een IoTEdge-apparaat. |
| invoke |
|
| invoke |
|
| on |
Registreert een callback voor een methode met de naam |
| send |
|
| send |
Verzendt een gebeurtenis naar de opgegeven module-uitvoer |
| send |
|
| send |
Verzendt een matrix met gebeurtenissen naar de opgegeven module-uitvoer |
| set |
|
| set |
Geeft opties door aan het |
Overgenomen methoden
| abandon(Message) | |
| abandon(Message, Callback<Message |
|
| add |
Alias voor |
| complete(Message) | |
| complete(Message, Callback<Message |
|
| emit<E>(string | symbol, any[]) | Roept synchroon elk van de listeners aan die zijn geregistreerd voor de gebeurtenis met de naam Retourneert
|
| event |
Retourneert een matrix met de gebeurtenissen waarvoor de emitter listeners heeft geregistreerd.
|
| get |
Retourneert de huidige maximum-listenerwaarde voor de |
| get |
|
| get |
|
| listener |
Retourneert het aantal listeners dat luistert naar de gebeurtenis met de naam |
| listeners<E>(string | symbol) | Retourneert een kopie van de matrix van listeners voor de gebeurtenis met de naam
|
| off<E>(string | symbol, (args: any[]) => void) | Alias voor |
| on<E>(string | symbol, (args: any[]) => void) | Hiermee voegt u de functie
Retourneert een verwijzing naar de Gebeurtenislisteners worden standaard aangeroepen in de volgorde waarin ze worden toegevoegd. De methode
|
| once<E>(string | symbol, (args: any[]) => void) | Hiermee voegt u een eenmalige
Retourneert een verwijzing naar de Gebeurtenislisteners worden standaard aangeroepen in de volgorde waarin ze worden toegevoegd. De methode
|
| open() | |
| open(Callback<Connected>) | |
| prepend |
Hiermee voegt u de functie
Retourneert een verwijzing naar de |
| prepend |
Hiermee voegt u een eenmalige
Retourneert een verwijzing naar de |
| raw |
Retourneert een kopie van de matrix van listeners voor de gebeurtenis met de naam
|
| reject(Message) | |
| reject(Message, Callback<Message |
|
| remove |
Hiermee verwijdert u alle listeners of de listeners van de opgegeven Het is slecht om listeners te verwijderen die ergens anders in de code zijn toegevoegd, met name wanneer het Retourneert een verwijzing naar de |
| remove |
Hiermee verwijdert u de opgegeven
Zodra een gebeurtenis is verzonden, worden alle listeners die eraan zijn gekoppeld op het moment van verzenden in volgorde aangeroepen. Dit impliceert dat elke of
Omdat luisteraars worden beheerd via een interne array, zal het aanroepen hiervan de positie-indexen veranderen van elke luisteraar die na verwijdering van de luisteraar is geregistreerd. Dit heeft geen invloed op de volgorde waarin listeners worden aangeroepen, maar dit betekent dat kopieën van de listenermatrix die worden geretourneerd door de methode Wanneer één functie meerdere keren is toegevoegd als handler voor één gebeurtenis (zoals in het onderstaande voorbeeld), verwijdert
Retourneert een verwijzing naar de |
| send |
|
| send |
|
| send |
|
| send |
|
| set |
Standaard worden Retourneert een verwijzing naar de |
| set |
Hiermee stelt u het beleid voor opnieuw proberen dat door de client wordt gebruikt voor alle bewerkingen. De standaardwaarde is ExponentialBackoffWithJitter. |
| set |
|
| set |
|
| update |
|
| [capture |
De
|
Methodedetails
close()
function close(): Promise<Disconnected>
Retouren
Promise<Disconnected>
close(Callback<Disconnected>)
Sluit de transportverbinding en vernietigt de clientbronnen.
Opmerking: nadat u deze methode hebt aangeroepen, kan het ModuleClient-object niet opnieuw worden gebruikt.
function close(closeCallback?: Callback<Disconnected>)
Parameters
- closeCallback
-
Callback<Disconnected>
Optionele functie die moet worden aangeroepen zodra het transport is verbroken en de client is gesloten.
fromAuthenticationProvider(AuthenticationProvider, any)
Hiermee maakt u een IoT Hub-moduleclient op basis van de opgegeven verificatiemethode en gebruikt u het opgegeven transporttype.
static function fromAuthenticationProvider(authenticationProvider: AuthenticationProvider, transportCtor: any): ModuleClient
Parameters
- authenticationProvider
-
AuthenticationProvider
Het object dat wordt gebruikt om de verificatieparameters voor de IoT-hub te verkrijgen.
- transportCtor
-
any
Transportprotocol dat wordt gebruikt om verbinding te maken met IoT Hub.
Retouren
fromConnectionString(string, any)
Hiermee maakt u een IoT Hub-apparaatclient op basis van de opgegeven verbindingsreeks met behulp van het opgegeven transporttype.
static function fromConnectionString(connStr: string, transportCtor: any): ModuleClient
Parameters
- connStr
-
string
Een verbindingsreeks die machtigingen voor apparaatverbinding inkapselt voor een IoT-hub.
- transportCtor
-
any
Een transportconstructor.
Retouren
fromEnvironment(any)
static function fromEnvironment(transportCtor: any): Promise<ModuleClient>
Parameters
- transportCtor
-
any
Retouren
Promise<ModuleClient>
fromEnvironment(any, Callback<ModuleClient>)
Hiermee maakt u een IoT Hub-moduleclient met behulp van configuratiegegevens uit de omgeving.
Als er een omgevingsvariabele met de naam EdgeHubConnectionString of IotHubConnectionString bestaat, wordt die waarde gebruikt en is het gedrag identiek aan het aanroepen van fromConnectionString doorgeven daarvan. Als deze omgevingsvariabelen niet bestaan, moeten de volgende variabelen worden gedefinieerd:
- 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>)
Parameters
- transportCtor
-
any
Transportprotocol dat wordt gebruikt om verbinding te maken met IoT Hub.
- callback
-
Callback<ModuleClient>
Optionele callback om aan te roepen wanneer de ModuleClient is gemaakt of als er een fout optreedt tijdens het maken van de client.
fromSharedAccessSignature(string, any)
Hiermee maakt u een IoT Hub-moduleclient op basis van de opgegeven handtekening voor gedeelde toegang met behulp van het opgegeven transporttype.
static function fromSharedAccessSignature(sharedAccessSignature: string, transportCtor: any): ModuleClient
Parameters
- sharedAccessSignature
-
string
Een handtekening voor gedeelde toegang die machtigingen voor apparaatverbinding inkapselt voor een IoT-hub.
- transportCtor
-
any
Retouren
invokeMethod(string, MethodParams)
function invokeMethod(deviceId: string, methodParams: MethodParams): Promise<MethodResult>
Parameters
- deviceId
-
string
- methodParams
-
MethodParams
Retouren
Promise<MethodResult>
invokeMethod(string, MethodParams, Callback<MethodResult>)
Roept een methode aan op een downstreamapparaat of op een andere module op hetzelfde IoTEdge-apparaat. Houd er rekening mee dat deze functie alleen werkt wanneer de module wordt uitgevoerd als onderdeel van een IoTEdge-apparaat.
function invokeMethod(deviceId: string, methodParams: MethodParams, callback?: Callback<MethodResult>)
Parameters
- deviceId
-
string
doelapparaat-id
- methodParams
-
MethodParams
parameters van de aanroep van de directe methode
- callback
-
Callback<MethodResult>
optionele callback die wordt aangeroepen met een foutobject of het resultaat van de methodeaanroep.
invokeMethod(string, string, MethodParams)
function invokeMethod(deviceId: string, moduleId: string, methodParams: MethodParams): Promise<MethodResult>
Parameters
- deviceId
-
string
- moduleId
-
string
- methodParams
-
MethodParams
Retouren
Promise<MethodResult>
invokeMethod(string, string, MethodParams, Callback<MethodResult>)
function invokeMethod(deviceId: string, moduleId: string, methodParams: MethodParams, callback: Callback<MethodResult>)
Parameters
- deviceId
-
string
- moduleId
-
string
- methodParams
-
MethodParams
- callback
-
Callback<MethodResult>
onMethod(string, DoubleValueCallback<DeviceMethodRequest, DeviceMethodResponse>)
Registreert een callback voor een methode met de naam methodName.
function onMethod(methodName: string, callback: DoubleValueCallback<DeviceMethodRequest, DeviceMethodResponse>)
Parameters
- methodName
-
string
Naam van de methode die wordt verwerkt door de callback
- callback
-
DoubleValueCallback<DeviceMethodRequest, DeviceMethodResponse>
Functie die wordt aangeroepen wanneer een methodeaanvraag voor de methode die methodName wordt genoemd, wordt ontvangen.
sendOutputEvent(string, Message)
function sendOutputEvent(outputName: string, message: Message): Promise<MessageEnqueued>
Parameters
- outputName
-
string
- message
- Message
Retouren
Promise<MessageEnqueued>
sendOutputEvent(string, Message, Callback<MessageEnqueued>)
Verzendt een gebeurtenis naar de opgegeven module-uitvoer
function sendOutputEvent(outputName: string, message: Message, callback?: Callback<MessageEnqueued>)
Parameters
- outputName
-
string
Naam van de uitvoer om de gebeurtenis naar te verzenden
- message
- Message
Bericht dat moet worden verzonden naar de opgegeven uitvoer
- callback
-
Callback<MessageEnqueued>
Optionele functie die moet worden aangeroepen wanneer de bewerking in de wachtrij is geplaatst.
sendOutputEventBatch(string, Message[])
function sendOutputEventBatch(outputName: string, messages: Message[]): Promise<MessageEnqueued>
Parameters
- outputName
-
string
- messages
-
Message[]
Retouren
Promise<MessageEnqueued>
sendOutputEventBatch(string, Message[], Callback<MessageEnqueued>)
Verzendt een matrix met gebeurtenissen naar de opgegeven module-uitvoer
function sendOutputEventBatch(outputName: string, messages: Message[], callback?: Callback<MessageEnqueued>)
Parameters
- outputName
-
string
Naam van de uitvoer om de gebeurtenissen naar te verzenden
- messages
-
Message[]
- callback
-
Callback<MessageEnqueued>
Functie die moet worden aangeroepen wanneer de bewerkingen in de wachtrij zijn geplaatst.
setOptions(DeviceClientOptions)
function setOptions(options: DeviceClientOptions): Promise<TransportConfigured>
Parameters
- options
- DeviceClientOptions
Retouren
Promise<TransportConfigured>
setOptions(DeviceClientOptions, Callback<TransportConfigured>)
Geeft opties door aan het ModuleClient-object dat kan worden gebruikt om het transport te configureren.
function setOptions(options: DeviceClientOptions, done?: Callback<TransportConfigured>)
Parameters
- options
- DeviceClientOptions
- done
-
Callback<TransportConfigured>
Optionele callback om te bellen zodra de opties zijn ingesteld.
Details overgenomen methode
abandon(Message)
function abandon(message: Message): Promise<MessageAbandoned>
Parameters
- message
- Message
Retouren
Promise<MessageAbandoned>
overgenomen van InternalClient.abandon
abandon(Message, Callback<MessageAbandoned>)
function abandon(message: Message, abandonCallback: Callback<MessageAbandoned>)
Parameters
- message
- Message
- abandonCallback
-
Callback<MessageAbandoned>
overgenomen van InternalClient.abandon
addListener<E>(string | symbol, (args: any[]) => void)
Alias voor emitter.on(eventName, listener).
function addListener<E>(eventName: string | symbol, listener: (args: any[]) => void): ModuleClient
Parameters
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Retouren
overgenomen van InternalClient.addListener
complete(Message)
function complete(message: Message): Promise<MessageCompleted>
Parameters
- message
- Message
Retouren
Promise<MessageCompleted>
overgenomen van InternalClient.complete
complete(Message, Callback<MessageCompleted>)
function complete(message: Message, completeCallback: Callback<MessageCompleted>)
Parameters
- message
- Message
- completeCallback
-
Callback<MessageCompleted>
overgenomen van InternalClient.complete
emit<E>(string | symbol, any[])
Roept synchroon elk van de listeners aan die zijn geregistreerd voor de gebeurtenis met de naam eventName, in de volgorde waarin ze zijn geregistreerd, waarbij de opgegeven argumenten aan elk item worden doorgegeven.
Retourneert true als de gebeurtenis listeners had, anders false.
import { EventEmitter } from 'node:events';
const myEmitter = new EventEmitter();
// First listener
myEmitter.on('event', function firstListener() {
console.log('Helloooo! first listener');
});
// Second listener
myEmitter.on('event', function secondListener(arg1, arg2) {
console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
});
// Third listener
myEmitter.on('event', function thirdListener(...args) {
const parameters = args.join(', ');
console.log(`event with parameters ${parameters} in third listener`);
});
console.log(myEmitter.listeners('event'));
myEmitter.emit('event', 1, 2, 3, 4, 5);
// Prints:
// [
// [Function: firstListener],
// [Function: secondListener],
// [Function: thirdListener]
// ]
// Helloooo! first listener
// event with parameters 1, 2 in second listener
// event with parameters 1, 2, 3, 4, 5 in third listener
function emit<E>(eventName: string | symbol, args: any[]): boolean
Parameters
- eventName
-
string | symbol
- args
-
any[]
Retouren
boolean
overgenomen van InternalClient.emit
eventNames()
Retourneert een matrix met de gebeurtenissen waarvoor de emitter listeners heeft geregistreerd.
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)[]
Retouren
(string | symbol)[]
overgenomen van InternalClient.eventNames
getMaxListeners()
Retourneert de huidige maximum-listenerwaarde voor de EventEmitter die is ingesteld door emitter.setMaxListeners(n) of standaard ingesteld op events.defaultMaxListeners.
function getMaxListeners(): number
Retouren
number
overgenomen van InternalClient.getMaxListeners
getTwin()
getTwin(Callback<Twin>)
function getTwin(done: Callback<Twin>)
Parameters
- done
-
Callback<Twin>
overgenomen van InternalClient.getTwin
listenerCount<E>(string | symbol, (args: any[]) => void)
Retourneert het aantal listeners dat luistert naar de gebeurtenis met de naam eventName.
Als listener wordt opgegeven, wordt geretourneerd hoe vaak de listener wordt gevonden in de lijst met listeners van de gebeurtenis.
function listenerCount<E>(eventName: string | symbol, listener?: (args: any[]) => void): number
Parameters
- eventName
-
string | symbol
De naam van de gebeurtenis die wordt geluisterd
- listener
-
(args: any[]) => void
De functie gebeurtenis-handler
Retouren
number
overgenomen van InternalClient.listenerCount
listeners<E>(string | symbol)
Retourneert een kopie van de matrix van listeners voor de gebeurtenis met de naam 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[]
Parameters
- eventName
-
string | symbol
Retouren
(args: any[]) => void[]
overgenomen van InternalClient.listeners
off<E>(string | symbol, (args: any[]) => void)
Alias voor emitter.removeListener().
function off<E>(eventName: string | symbol, listener: (args: any[]) => void): ModuleClient
Parameters
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Retouren
overgenomen van InternalClient.off
on<E>(string | symbol, (args: any[]) => void)
Hiermee voegt u de functie listener toe aan het einde van de listenersmatrix voor de gebeurtenis met de naam eventName. Er worden geen controles uitgevoerd om te zien of de listener al is toegevoegd. Meerdere aanroepen die dezelfde combinatie van eventName doorgeven en listener leiden ertoe dat de listener meerdere keren wordt toegevoegd en aangeroepen.
server.on('connection', (stream) => {
console.log('someone connected!');
});
Retourneert een verwijzing naar de EventEmitter, zodat aanroepen kunnen worden gekoppeld.
Gebeurtenislisteners worden standaard aangeroepen in de volgorde waarin ze worden toegevoegd. De methode emitter.prependListener() kan worden gebruikt als alternatief om de gebeurtenislistener toe te voegen aan het begin van de listenersmatrix.
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
Parameters
- eventName
-
string | symbol
De naam van de gebeurtenis.
- listener
-
(args: any[]) => void
De callback-functie
Retouren
overgenomen van InternalClient.on
once<E>(string | symbol, (args: any[]) => void)
Hiermee voegt u een eenmaligeeventName wordt geactiveerd, wordt deze listener verwijderd en vervolgens aangeroepen.
server.once('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Retourneert een verwijzing naar de EventEmitter, zodat aanroepen kunnen worden gekoppeld.
Gebeurtenislisteners worden standaard aangeroepen in de volgorde waarin ze worden toegevoegd. De methode emitter.prependOnceListener() kan worden gebruikt als alternatief om de gebeurtenislistener toe te voegen aan het begin van de listenersmatrix.
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
Parameters
- eventName
-
string | symbol
De naam van de gebeurtenis.
- listener
-
(args: any[]) => void
De callback-functie
Retouren
overgenomen van InternalClient.once
open()
function open(): Promise<Connected>
Retouren
Promise<Connected>
overgenomen van InternalClient.open
open(Callback<Connected>)
function open(openCallback: Callback<Connected>)
Parameters
- openCallback
-
Callback<Connected>
overgenomen van InternalClient.open
prependListener<E>(string | symbol, (args: any[]) => void)
Hiermee voegt u de functie listener toe aan de die begint van de listenersmatrix voor de gebeurtenis met de naam eventName. Er worden geen controles uitgevoerd om te zien of de listener al is toegevoegd. Meerdere aanroepen die dezelfde combinatie van eventName doorgeven en listener leiden ertoe dat de listener meerdere keren wordt toegevoegd en aangeroepen.
server.prependListener('connection', (stream) => {
console.log('someone connected!');
});
Retourneert een verwijzing naar de EventEmitter, zodat aanroepen kunnen worden gekoppeld.
function prependListener<E>(eventName: string | symbol, listener: (args: any[]) => void): ModuleClient
Parameters
- eventName
-
string | symbol
De naam van de gebeurtenis.
- listener
-
(args: any[]) => void
De callback-functie
Retouren
overgenomen van InternalClient.prependListener
prependOnceListener<E>(string | symbol, (args: any[]) => void)
Hiermee voegt u een eenmaligelistener functie toe voor de gebeurtenis met de naam eventName aan de die begint van de listenersmatrix. De volgende keer dat eventName wordt geactiveerd, wordt deze listener verwijderd en vervolgens aangeroepen.
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Retourneert een verwijzing naar de EventEmitter, zodat aanroepen kunnen worden gekoppeld.
function prependOnceListener<E>(eventName: string | symbol, listener: (args: any[]) => void): ModuleClient
Parameters
- eventName
-
string | symbol
De naam van de gebeurtenis.
- listener
-
(args: any[]) => void
De callback-functie
Retouren
overgenomen van InternalClient.prependOnceListener
rawListeners<E>(string | symbol)
Retourneert een kopie van de matrix van listeners voor de gebeurtenis met de naam eventName, inclusief eventuele wrappers (zoals die zijn gemaakt door .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[]
Parameters
- eventName
-
string | symbol
Retouren
(args: any[]) => void[]
overgenomen van InternalClient.rawListeners
reject(Message)
function reject(message: Message): Promise<MessageRejected>
Parameters
- message
- Message
Retouren
Promise<MessageRejected>
overgenomen van InternalClient.reject
reject(Message, Callback<MessageRejected>)
function reject(message: Message, rejectCallback: Callback<MessageRejected>)
Parameters
- message
- Message
- rejectCallback
-
Callback<MessageRejected>
overgenomen van InternalClient.reject
removeAllListeners<E>(string | symbol)
Hiermee verwijdert u alle listeners of de listeners van de opgegeven eventName.
Het is slecht om listeners te verwijderen die ergens anders in de code zijn toegevoegd, met name wanneer het EventEmitter exemplaar is gemaakt door een ander onderdeel of een andere module (bijvoorbeeld sockets of bestandsstromen).
Retourneert een verwijzing naar de EventEmitter, zodat aanroepen kunnen worden gekoppeld.
function removeAllListeners<E>(eventName?: string | symbol): ModuleClient
Parameters
- eventName
-
string | symbol
Retouren
overgenomen van InternalClient.removeAllListeners
removeListener<E>(string | symbol, (args: any[]) => void)
Hiermee verwijdert u de opgegeven listener uit de listenermatrix voor de gebeurtenis met de naam eventName.
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
removeListener() verwijdert maximaal één exemplaar van een listener uit de listenermatrix. Als er meerdere keren één listener is toegevoegd aan de listenermatrix voor de opgegeven eventName, moet removeListener() meerdere keren worden aangeroepen om elk exemplaar te verwijderen.
Zodra een gebeurtenis is verzonden, worden alle listeners die eraan zijn gekoppeld op het moment van verzenden in volgorde aangeroepen. Dit impliceert dat elke of removeAllListeners() call removeListener()na het uitzenden en voordat de laatste luisteraar de uitvoering voltooit, ze niet uit emit() de uitvoering zullen verwijderen. Volgende gebeurtenissen gedragen zich zoals verwacht.
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
Omdat luisteraars worden beheerd via een interne array, zal het aanroepen hiervan de positie-indexen veranderen van elke luisteraar die na verwijdering van de luisteraar is geregistreerd. Dit heeft geen invloed op de volgorde waarin listeners worden aangeroepen, maar dit betekent dat kopieën van de listenermatrix die worden geretourneerd door de methode emitter.listeners() opnieuw moeten worden gemaakt.
Wanneer één functie meerdere keren is toegevoegd als handler voor één gebeurtenis (zoals in het onderstaande voorbeeld), verwijdert removeListener() het laatst toegevoegde exemplaar. In het voorbeeld wordt de once('ping') listener verwijderd:
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');
Retourneert een verwijzing naar de EventEmitter, zodat aanroepen kunnen worden gekoppeld.
function removeListener<E>(eventName: string | symbol, listener: (args: any[]) => void): ModuleClient
Parameters
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Retouren
overgenomen van InternalClient.removeListener
sendEvent(Message)
function sendEvent(message: Message): Promise<MessageEnqueued>
Parameters
- message
- Message
Retouren
Promise<MessageEnqueued>
overgenomen van InternalClient.sendEvent
sendEvent(Message, Callback<MessageEnqueued>)
function sendEvent(message: Message, sendEventCallback: Callback<MessageEnqueued>)
Parameters
- message
- Message
- sendEventCallback
-
Callback<MessageEnqueued>
overgenomen van InternalClient.sendEvent
sendEventBatch(Message[])
function sendEventBatch(messages: Message[]): Promise<MessageEnqueued>
Parameters
- messages
-
Message[]
Retouren
Promise<MessageEnqueued>
overgenomen van InternalClient.sendEventBatch
sendEventBatch(Message[], Callback<MessageEnqueued>)
function sendEventBatch(messages: Message[], sendEventBatchCallback: Callback<MessageEnqueued>)
Parameters
- messages
-
Message[]
- sendEventBatchCallback
-
Callback<MessageEnqueued>
overgenomen van InternalClient.sendEventBatch
setMaxListeners(number)
Standaard worden EventEmitters een waarschuwing afgedrukt als er meer dan 10 listeners worden toegevoegd voor een bepaalde gebeurtenis. Dit is een nuttige standaardinstelling waarmee geheugenlekken kunnen worden gevonden. Met de methode emitter.setMaxListeners() kan de limiet voor dit specifieke EventEmitter exemplaar worden gewijzigd. De waarde kan worden ingesteld op Infinity (of 0) om een onbeperkt aantal listeners aan te geven.
Retourneert een verwijzing naar de EventEmitter, zodat aanroepen kunnen worden gekoppeld.
function setMaxListeners(n: number): ModuleClient
Parameters
- n
-
number
Retouren
overgenomen van InternalClient.setMaxListeners
setRetryPolicy(RetryPolicy)
Hiermee stelt u het beleid voor opnieuw proberen dat door de client wordt gebruikt voor alle bewerkingen. De standaardwaarde is ExponentialBackoffWithJitter.
function setRetryPolicy(policy: RetryPolicy)
Parameters
- policy
-
RetryPolicy
{RetryPolicy} Het beleid voor opnieuw proberen dat moet worden gebruikt voor alle toekomstige bewerkingen.
overgenomen van InternalClient.setRetryPolicy
setTransportOptions(any)
function setTransportOptions(options: any): Promise<TransportConfigured>
Parameters
- options
-
any
Retouren
Promise<TransportConfigured>
overgenomen van InternalClient.setTransportOptions
setTransportOptions(any, Callback<TransportConfigured>)
function setTransportOptions(options: any, done: Callback<TransportConfigured>)
Parameters
- options
-
any
- done
-
Callback<TransportConfigured>
overgenomen van InternalClient.setTransportOptions
updateSharedAccessSignature(string, Callback<SharedAccessSignatureUpdated>)
function updateSharedAccessSignature(sharedAccessSignature: string, updateSasCallback?: Callback<SharedAccessSignatureUpdated>)
Parameters
- sharedAccessSignature
-
string
- updateSasCallback
-
Callback<SharedAccessSignatureUpdated>
overgenomen van InternalClient.updateSharedAccessSignature
[captureRejectionSymbol](Error, string | symbol, any[])
De Symbol.for('nodejs.rejection') methode wordt aangeroepen voor het geval een belofteafwijzing plaatsvindt bij het uitzenden van een gebeurtenis en captureRejections wordt ingeschakeld op de emitter.
Het is mogelijk om in plaats van Symbol.for('nodejs.rejection')te gebruikenevents.captureRejectionSymbol.
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[])
Parameters
- error
-
Error
- event
-
string | symbol
- args
-
any[]
Geërfd van InternalClient.__@captureRejectionSymbol@127