ModuleClient class
Klient urządzenia usługi IoT Hub używany do łączenia urządzenia z centrum Azure IoT Hub.
Użytkownicy zestawu SDK powinni wywołać jedną z metod fabrycznych, z ConnectionString lub zsharedAccessSignature w celu utworzenia klienta urządzenia usługi IoT Hub.
- Rozszerza
-
InternalClient
Metody
| close() | |
| close(Callback<Disconnected>) | Zamyka połączenie transportowe i niszczy zasoby klienta. Uwaga: po wywołaniu tej metody nie można ponownie użyć obiektu ModuleClient. |
| from |
Tworzy klienta modułu usługi IoT Hub na podstawie danej metody uwierzytelniania i przy użyciu danego typu transportu. |
| from |
Tworzy klienta urządzenia usługi IoT Hub na podstawie podanych parametrów połączenia przy użyciu danego typu transportu. |
| from |
|
| from |
Tworzy klienta modułu usługi IoT Hub przy użyciu informacji o konfiguracji ze środowiska. Jeśli istnieje zmienna środowiskowa o nazwie
|
| from |
Tworzy klienta modułu usługi IoT Hub na podstawie danego sygnatury dostępu współdzielonego przy użyciu danego typu transportu. |
| invoke |
|
| invoke |
Wywołuje metodę na urządzeniu podrzędnym lub w innym module na tym samym urządzeniu IoTEdge. Należy pamiętać, że ta funkcja działa tylko wtedy, gdy moduł jest uruchamiany jako część urządzenia IoTEdge. |
| invoke |
|
| invoke |
|
| on |
Rejestruje wywołanie zwrotne dla metody o nazwie |
| send |
|
| send |
Wysyła zdarzenie do danych wyjściowych danego modułu |
| send |
|
| send |
Wysyła tablicę zdarzeń do danych wyjściowych danego modułu |
| set |
|
| set |
Przekazuje opcje do obiektu |
Metody dziedziczone
| abandon(Message) | |
| abandon(Message, Callback<Message |
|
| add |
Alias dla |
| complete(Message) | |
| complete(Message, Callback<Message |
|
| emit<E>(string | symbol, any[]) | Synchronicznie wywołuje każdy odbiornik zarejestrowany dla zdarzenia o nazwie Zwraca
|
| event |
Zwraca tablicę z listą zdarzeń, dla których emiter zarejestrował odbiorniki.
|
| get |
Zwraca bieżącą wartość maksymalnego odbiornika dla |
| get |
|
| get |
|
| listener |
Zwraca liczbę odbiorników nasłuchujących zdarzenia o nazwie |
| listeners<E>(string | symbol) | Zwraca kopię tablicy odbiorników dla zdarzenia o nazwie
|
| off<E>(string | symbol, (args: any[]) => void) | Alias dla |
| on<E>(string | symbol, (args: any[]) => void) | Dodaje funkcję
Zwraca odwołanie do Domyślnie odbiorniki zdarzeń są wywoływane w kolejności, w której są dodawane. Metodę
|
| once<E>(string | symbol, (args: any[]) => void) | Dodaje funkcję jednorazową
Zwraca odwołanie do Domyślnie odbiorniki zdarzeń są wywoływane w kolejności, w której są dodawane. Metodę
|
| open() | |
| open(Callback<Connected>) | |
| prepend |
Dodaje funkcję
Zwraca odwołanie do |
| prepend |
Dodaje funkcję jednorazową
Zwraca odwołanie do |
| raw |
Zwraca kopię tablicy odbiorników dla zdarzenia o nazwie
|
| reject(Message) | |
| reject(Message, Callback<Message |
|
| remove |
Usuwa wszystkie odbiorniki lub te z określonych Źle jest usunąć odbiorniki dodane gdzie indziej w kodzie, szczególnie w przypadku utworzenia wystąpienia Zwraca odwołanie do |
| remove |
Usuwa określone
Po emitowaniu zdarzenia wszystkie odbiorniki dołączone do niego w momencie emitowania są wywoływane w kolejności. Oznacza to, że wywołania
Ponieważ słuchacze są zarządzane za pomocą wewnętrznej tablicy, wywołanie tego zmienia indeksy pozycji każdego słuchacza zarejestrowanego po usunięciu tego nasłuchu. Nie będzie to miało wpływu na kolejność wywoływanych odbiorników, ale oznacza to, że wszystkie kopie tablicy odbiorników zwrócone przez metodę Gdy pojedyncza funkcja została dodana jako procedura obsługi wiele razy dla pojedynczego zdarzenia (jak w poniższym przykładzie),
Zwraca odwołanie do |
| send |
|
| send |
|
| send |
|
| send |
|
| set |
Domyślnie Zwraca odwołanie do |
| set |
Ustawia zasady ponawiania prób używane przez klienta we wszystkich operacjach. Wartość domyślna to ExponentialBackoffWithJitter. |
| set |
|
| set |
|
| update |
|
| [capture |
Metoda ta
|
Szczegóły metody
close()
function close(): Promise<Disconnected>
Zwraca
Promise<Disconnected>
close(Callback<Disconnected>)
Zamyka połączenie transportowe i niszczy zasoby klienta.
Uwaga: po wywołaniu tej metody nie można ponownie użyć obiektu ModuleClient.
function close(closeCallback?: Callback<Disconnected>)
Parametry
- closeCallback
-
Callback<Disconnected>
Opcjonalna funkcja wywoływana po rozłączeniu transportu i zamknięciu klienta.
fromAuthenticationProvider(AuthenticationProvider, any)
Tworzy klienta modułu usługi IoT Hub na podstawie danej metody uwierzytelniania i przy użyciu danego typu transportu.
static function fromAuthenticationProvider(authenticationProvider: AuthenticationProvider, transportCtor: any): ModuleClient
Parametry
- authenticationProvider
-
AuthenticationProvider
Obiekt używany do uzyskiwania parametrów uwierzytelniania dla centrum IoT.
- transportCtor
-
any
Protokół transportu używany do nawiązywania połączenia z centrum IoT Hub.
Zwraca
fromConnectionString(string, any)
Tworzy klienta urządzenia usługi IoT Hub na podstawie podanych parametrów połączenia przy użyciu danego typu transportu.
static function fromConnectionString(connStr: string, transportCtor: any): ModuleClient
Parametry
- connStr
-
string
Parametry połączenia, które hermetyzują uprawnienia "połączenie urządzenia" w centrum IoT.
- transportCtor
-
any
Konstruktor transportu.
Zwraca
fromEnvironment(any)
static function fromEnvironment(transportCtor: any): Promise<ModuleClient>
Parametry
- transportCtor
-
any
Zwraca
Promise<ModuleClient>
fromEnvironment(any, Callback<ModuleClient>)
Tworzy klienta modułu usługi IoT Hub przy użyciu informacji o konfiguracji ze środowiska.
Jeśli istnieje zmienna środowiskowa o nazwie EdgeHubConnectionString lub IotHubConnectionString, ta wartość jest używana i zachowanie jest identyczne z wywołaniem fromConnectionString przekazaniem tej wartości. Jeśli te zmienne środowiskowe nie istnieją, należy zdefiniować następujące zmienne:
- 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
Protokół transportu używany do nawiązywania połączenia z centrum IoT Hub.
- callback
-
Callback<ModuleClient>
Opcjonalne wywołanie zwrotne do wywołania podczas tworzenia klienta ModuleClient lub jeśli wystąpi błąd podczas tworzenia klienta.
fromSharedAccessSignature(string, any)
Tworzy klienta modułu usługi IoT Hub na podstawie danego sygnatury dostępu współdzielonego przy użyciu danego typu transportu.
static function fromSharedAccessSignature(sharedAccessSignature: string, transportCtor: any): ModuleClient
Parametry
- sharedAccessSignature
-
string
Sygnatura dostępu współdzielonego, która hermetyzuje uprawnienia "łączenie urządzenia" w centrum IoT.
- transportCtor
-
any
Zwraca
invokeMethod(string, MethodParams)
function invokeMethod(deviceId: string, methodParams: MethodParams): Promise<MethodResult>
Parametry
- deviceId
-
string
- methodParams
-
MethodParams
Zwraca
Promise<MethodResult>
invokeMethod(string, MethodParams, Callback<MethodResult>)
Wywołuje metodę na urządzeniu podrzędnym lub w innym module na tym samym urządzeniu IoTEdge. Należy pamiętać, że ta funkcja działa tylko wtedy, gdy moduł jest uruchamiany jako część urządzenia IoTEdge.
function invokeMethod(deviceId: string, methodParams: MethodParams, callback?: Callback<MethodResult>)
Parametry
- deviceId
-
string
identyfikator urządzenia docelowego
- methodParams
-
MethodParams
parametry wywołania metody bezpośredniej
- callback
-
Callback<MethodResult>
opcjonalne wywołanie zwrotne, które będzie wywoływane z obiektem Error lub wynikiem wywołania metody.
invokeMethod(string, string, MethodParams)
function invokeMethod(deviceId: string, moduleId: string, methodParams: MethodParams): Promise<MethodResult>
Parametry
- deviceId
-
string
- moduleId
-
string
- methodParams
-
MethodParams
Zwraca
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>)
Rejestruje wywołanie zwrotne dla metody o nazwie methodName.
function onMethod(methodName: string, callback: DoubleValueCallback<DeviceMethodRequest, DeviceMethodResponse>)
Parametry
- methodName
-
string
Nazwa metody, która będzie obsługiwana przez wywołanie zwrotne
- callback
-
DoubleValueCallback<DeviceMethodRequest, DeviceMethodResponse>
Funkcja, która jest wywoływana za każdym razem, gdy zostanie odebrane żądanie metody o nazwie methodName.
sendOutputEvent(string, Message)
function sendOutputEvent(outputName: string, message: Message): Promise<MessageEnqueued>
Parametry
- outputName
-
string
- message
- Message
Zwraca
Promise<MessageEnqueued>
sendOutputEvent(string, Message, Callback<MessageEnqueued>)
Wysyła zdarzenie do danych wyjściowych danego modułu
function sendOutputEvent(outputName: string, message: Message, callback?: Callback<MessageEnqueued>)
Parametry
- outputName
-
string
Nazwa danych wyjściowych do wysłania zdarzenia do
- message
- Message
Komunikat do wysłania do danych wyjściowych
- callback
-
Callback<MessageEnqueued>
Opcjonalna funkcja do wywoływania, gdy operacja została w kolejce.
sendOutputEventBatch(string, Message[])
function sendOutputEventBatch(outputName: string, messages: Message[]): Promise<MessageEnqueued>
Parametry
- outputName
-
string
- messages
-
Message[]
Zwraca
Promise<MessageEnqueued>
sendOutputEventBatch(string, Message[], Callback<MessageEnqueued>)
Wysyła tablicę zdarzeń do danych wyjściowych danego modułu
function sendOutputEventBatch(outputName: string, messages: Message[], callback?: Callback<MessageEnqueued>)
Parametry
- outputName
-
string
Nazwa danych wyjściowych do wysłania zdarzeń do
- messages
-
Message[]
- callback
-
Callback<MessageEnqueued>
Funkcja do wywoływania, gdy operacje zostały w kolejce.
setOptions(DeviceClientOptions)
function setOptions(options: DeviceClientOptions): Promise<TransportConfigured>
Parametry
- options
- DeviceClientOptions
Zwraca
Promise<TransportConfigured>
setOptions(DeviceClientOptions, Callback<TransportConfigured>)
Przekazuje opcje do obiektu ModuleClient, który może służyć do konfigurowania transportu.
function setOptions(options: DeviceClientOptions, done?: Callback<TransportConfigured>)
Parametry
- options
- DeviceClientOptions
Obiekt DeviceClientOptions.
- done
-
Callback<TransportConfigured>
Opcjonalne wywołanie zwrotne do wywołania po ustawieniu opcji.
Szczegóły dziedziczonej metody
abandon(Message)
function abandon(message: Message): Promise<MessageAbandoned>
Parametry
- message
- Message
Zwraca
Promise<MessageAbandoned>
dziedziczone z InternalClient.abandon
abandon(Message, Callback<MessageAbandoned>)
function abandon(message: Message, abandonCallback: Callback<MessageAbandoned>)
Parametry
- message
- Message
- abandonCallback
-
Callback<MessageAbandoned>
dziedziczone z InternalClient.abandon
addListener<E>(string | symbol, (args: any[]) => void)
Alias dla emitter.on(eventName, listener).
function addListener<E>(eventName: string | symbol, listener: (args: any[]) => void): ModuleClient
Parametry
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Zwraca
dziedziczone z InternalClient.addListener
complete(Message)
function complete(message: Message): Promise<MessageCompleted>
Parametry
- message
- Message
Zwraca
Promise<MessageCompleted>
dziedziczone z InternalClient.complete
complete(Message, Callback<MessageCompleted>)
function complete(message: Message, completeCallback: Callback<MessageCompleted>)
Parametry
- message
- Message
- completeCallback
-
Callback<MessageCompleted>
dziedziczone z InternalClient.complete
emit<E>(string | symbol, any[])
Synchronicznie wywołuje każdy odbiornik zarejestrowany dla zdarzenia o nazwie eventName, w kolejności, w której zostały zarejestrowane, przekazując podane argumenty do każdego.
Zwraca true, jeśli zdarzenie miało odbiorniki, false w przeciwnym razie.
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[]
Zwraca
boolean
dziedziczone z InternalClient.emit
eventNames()
Zwraca tablicę z listą zdarzeń, dla których emiter zarejestrował odbiorniki.
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)[]
Zwraca
(string | symbol)[]
dziedziczone z InternalClient.eventNames
getMaxListeners()
Zwraca bieżącą wartość maksymalnego odbiornika dla EventEmitter, która jest ustawiona przez emitter.setMaxListeners(n) lub domyślnie ma wartość events.defaultMaxListeners.
function getMaxListeners(): number
Zwraca
number
dziedziczone z InternalClient.getMaxListeners
getTwin()
getTwin(Callback<Twin>)
function getTwin(done: Callback<Twin>)
Parametry
- done
-
Callback<Twin>
dziedziczone z InternalClient.getTwin
listenerCount<E>(string | symbol, (args: any[]) => void)
Zwraca liczbę odbiorników nasłuchujących zdarzenia o nazwie eventName.
W przypadku podania listener zostanie zwrócona liczba znalezionych odbiorników na liście odbiorników zdarzenia.
function listenerCount<E>(eventName: string | symbol, listener?: (args: any[]) => void): number
Parametry
- eventName
-
string | symbol
Nazwa zdarzenia, dla których jest nasłuchiwane
- listener
-
(args: any[]) => void
Funkcja obsługi zdarzeń
Zwraca
number
dziedziczone z InternalClient.listenerCount
listeners<E>(string | symbol)
Zwraca kopię tablicy odbiorników dla zdarzenia o nazwie 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
Zwraca
(args: any[]) => void[]
dziedziczone z InternalClient.listeners
off<E>(string | symbol, (args: any[]) => void)
Alias dla emitter.removeListener().
function off<E>(eventName: string | symbol, listener: (args: any[]) => void): ModuleClient
Parametry
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Zwraca
dziedziczone z InternalClient.off
on<E>(string | symbol, (args: any[]) => void)
Dodaje funkcję listener na końcu tablicy odbiorników dla zdarzenia o nazwie eventName. Nie są sprawdzane, czy listener został już dodany. Wiele wywołań przekazujących tę samą kombinację eventName i listener spowoduje dodanie listener i wywołanie wielu razy.
server.on('connection', (stream) => {
console.log('someone connected!');
});
Zwraca odwołanie do EventEmitter, aby wywołania mogły być łańcuchowe.
Domyślnie odbiorniki zdarzeń są wywoływane w kolejności, w której są dodawane. Metodę emitter.prependListener() można użyć jako alternatywy, aby dodać odbiornik zdarzeń na początku tablicy odbiorników.
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
Nazwa zdarzenia.
- listener
-
(args: any[]) => void
Funkcja wywołania zwrotnego
Zwraca
dziedziczone z InternalClient.on
once<E>(string | symbol, (args: any[]) => void)
Dodaje funkcję jednorazowąlistener dla zdarzenia o nazwie eventName. Przy następnym wyzwoleniu eventName ten odbiornik zostanie usunięty, a następnie wywołany.
server.once('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Zwraca odwołanie do EventEmitter, aby wywołania mogły być łańcuchowe.
Domyślnie odbiorniki zdarzeń są wywoływane w kolejności, w której są dodawane. Metodę emitter.prependOnceListener() można użyć jako alternatywy, aby dodać odbiornik zdarzeń na początku tablicy odbiorników.
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
Nazwa zdarzenia.
- listener
-
(args: any[]) => void
Funkcja wywołania zwrotnego
Zwraca
dziedziczone z InternalClient.once
open()
function open(): Promise<Connected>
Zwraca
Promise<Connected>
dziedziczone z InternalClient.open
open(Callback<Connected>)
function open(openCallback: Callback<Connected>)
Parametry
- openCallback
-
Callback<Connected>
dziedziczone z InternalClient.open
prependListener<E>(string | symbol, (args: any[]) => void)
Dodaje funkcję listener do rozpoczynającej się tablicy odbiorników dla zdarzenia o nazwie eventName. Nie są sprawdzane, czy listener został już dodany. Wiele wywołań przekazujących tę samą kombinację eventName i listener spowoduje dodanie listener i wywołanie wielu razy.
server.prependListener('connection', (stream) => {
console.log('someone connected!');
});
Zwraca odwołanie do EventEmitter, aby wywołania mogły być łańcuchowe.
function prependListener<E>(eventName: string | symbol, listener: (args: any[]) => void): ModuleClient
Parametry
- eventName
-
string | symbol
Nazwa zdarzenia.
- listener
-
(args: any[]) => void
Funkcja wywołania zwrotnego
Zwraca
dziedziczone z InternalClient.prependListener
prependOnceListener<E>(string | symbol, (args: any[]) => void)
Dodaje funkcję jednorazowąlistener dla zdarzenia o nazwie eventName do rozpoczynającej się tablicy odbiorników. Następnym razem, gdy eventName zostanie wyzwolony, ten odbiornik zostanie usunięty, a następnie wywołany.
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Zwraca odwołanie do EventEmitter, aby wywołania mogły być łańcuchowe.
function prependOnceListener<E>(eventName: string | symbol, listener: (args: any[]) => void): ModuleClient
Parametry
- eventName
-
string | symbol
Nazwa zdarzenia.
- listener
-
(args: any[]) => void
Funkcja wywołania zwrotnego
Zwraca
dziedziczone z InternalClient.prependOnceListener
rawListeners<E>(string | symbol)
Zwraca kopię tablicy odbiorników dla zdarzenia o nazwie eventName, w tym wszelkie otoki (takie jak te utworzone przez .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
Zwraca
(args: any[]) => void[]
dziedziczone z InternalClient.rawListeners
reject(Message)
function reject(message: Message): Promise<MessageRejected>
Parametry
- message
- Message
Zwraca
Promise<MessageRejected>
dziedziczone z InternalClient.reject
reject(Message, Callback<MessageRejected>)
function reject(message: Message, rejectCallback: Callback<MessageRejected>)
Parametry
- message
- Message
- rejectCallback
-
Callback<MessageRejected>
dziedziczone z InternalClient.reject
removeAllListeners<E>(string | symbol)
Usuwa wszystkie odbiorniki lub te z określonych eventName.
Źle jest usunąć odbiorniki dodane gdzie indziej w kodzie, szczególnie w przypadku utworzenia wystąpienia EventEmitter przez inny składnik lub moduł (np. gniazda lub strumienie plików).
Zwraca odwołanie do EventEmitter, aby wywołania mogły być łańcuchowe.
function removeAllListeners<E>(eventName?: string | symbol): ModuleClient
Parametry
- eventName
-
string | symbol
Zwraca
dziedziczone z InternalClient.removeAllListeners
removeListener<E>(string | symbol, (args: any[]) => void)
Usuwa określone listener z tablicy odbiorników dla zdarzenia o nazwie eventName.
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
removeListener() usunie co najwyżej jedno wystąpienie odbiornika z tablicy odbiornika. Jeśli jakikolwiek pojedynczy odbiornik został dodany wiele razy do tablicy odbiornika dla określonego eventName, removeListener() należy wywołać wiele razy, aby usunąć każde wystąpienie.
Po emitowaniu zdarzenia wszystkie odbiorniki dołączone do niego w momencie emitowania są wywoływane w kolejności. Oznacza to, że wywołania removeListener() lub poremoveAllListeners() emisji i przed zakończeniem wykonania przez ostatniego słuchacza nie usuną ich z emit() trwających. Kolejne zdarzenia zachowują się zgodnie z oczekiwaniami.
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
Ponieważ słuchacze są zarządzane za pomocą wewnętrznej tablicy, wywołanie tego zmienia indeksy pozycji każdego słuchacza zarejestrowanego po usunięciu tego nasłuchu. Nie będzie to miało wpływu na kolejność wywoływanych odbiorników, ale oznacza to, że wszystkie kopie tablicy odbiorników zwrócone przez metodę emitter.listeners() będą musiały zostać ponownie odtworzone.
Gdy pojedyncza funkcja została dodana jako procedura obsługi wiele razy dla pojedynczego zdarzenia (jak w poniższym przykładzie), removeListener() usunie ostatnio dodane wystąpienie. W przykładzie odbiornik once('ping') zostanie usunięty:
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');
Zwraca odwołanie do EventEmitter, aby wywołania mogły być łańcuchowe.
function removeListener<E>(eventName: string | symbol, listener: (args: any[]) => void): ModuleClient
Parametry
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Zwraca
dziedziczone z InternalClient.removeListener
sendEvent(Message)
function sendEvent(message: Message): Promise<MessageEnqueued>
Parametry
- message
- Message
Zwraca
Promise<MessageEnqueued>
dziedziczone z InternalClient.sendEvent
sendEvent(Message, Callback<MessageEnqueued>)
function sendEvent(message: Message, sendEventCallback: Callback<MessageEnqueued>)
Parametry
- message
- Message
- sendEventCallback
-
Callback<MessageEnqueued>
dziedziczone z InternalClient.sendEvent
sendEventBatch(Message[])
function sendEventBatch(messages: Message[]): Promise<MessageEnqueued>
Parametry
- messages
-
Message[]
Zwraca
Promise<MessageEnqueued>
dziedziczone z InternalClient.sendEventBatch
sendEventBatch(Message[], Callback<MessageEnqueued>)
function sendEventBatch(messages: Message[], sendEventBatchCallback: Callback<MessageEnqueued>)
Parametry
- messages
-
Message[]
- sendEventBatchCallback
-
Callback<MessageEnqueued>
dziedziczone z InternalClient.sendEventBatch
setMaxListeners(number)
Domyślnie EventEmitters wyświetli ostrzeżenie, jeśli dla określonego zdarzenia zostanie dodane więcej niż 10 odbiorniki. Jest to przydatna wartość domyślna, która ułatwia znajdowanie przecieków pamięci. Metoda emitter.setMaxListeners() umożliwia zmodyfikowanie limitu dla tego konkretnego wystąpienia EventEmitter. Wartość można ustawić na Infinity (lub 0), aby wskazać nieograniczoną liczbę odbiorników.
Zwraca odwołanie do EventEmitter, aby wywołania mogły być łańcuchowe.
function setMaxListeners(n: number): ModuleClient
Parametry
- n
-
number
Zwraca
dziedziczone z InternalClient.setMaxListeners
setRetryPolicy(RetryPolicy)
Ustawia zasady ponawiania prób używane przez klienta we wszystkich operacjach. Wartość domyślna to ExponentialBackoffWithJitter.
function setRetryPolicy(policy: RetryPolicy)
Parametry
- policy
-
RetryPolicy
{RetryPolicy} Zasady ponawiania, które powinny być używane dla wszystkich przyszłych operacji.
dziedziczone z InternalClient.setRetryPolicy
setTransportOptions(any)
function setTransportOptions(options: any): Promise<TransportConfigured>
Parametry
- options
-
any
Zwraca
Promise<TransportConfigured>
dziedziczone z InternalClient.setTransportOptions
setTransportOptions(any, Callback<TransportConfigured>)
function setTransportOptions(options: any, done: Callback<TransportConfigured>)
Parametry
- options
-
any
- done
-
Callback<TransportConfigured>
dziedziczone z InternalClient.setTransportOptions
updateSharedAccessSignature(string, Callback<SharedAccessSignatureUpdated>)
function updateSharedAccessSignature(sharedAccessSignature: string, updateSasCallback?: Callback<SharedAccessSignatureUpdated>)
Parametry
- sharedAccessSignature
-
string
- updateSasCallback
-
Callback<SharedAccessSignatureUpdated>
dziedziczone z InternalClient.updateSharedAccessSignature
[captureRejectionSymbol](Error, string | symbol, any[])
Metoda ta Symbol.for('nodejs.rejection') jest wywoływana w przypadku, gdy podczas emisji zdarzenia następuje odrzucenie obietnicy i captureRejections jest włączona na emiterze.
Można użyć events.captureRejectionSymbol go zamiast .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[]
Dziedziczone od InternalClient.__@captureRejectionSymbol@127