Поделиться через


Client class

Клиент устройства Центра Интернета вещей, используемый для подключения устройства к Центру Интернета вещей Azure.

Пользователи пакета SDK должны вызывать один из методов фабрики, fromConnectionString или fromSharedAccessSignature для создания клиента устройства Центра Интернета вещей.

Расширяет

InternalClient

Конструкторы

Client(DeviceTransport, string, BlobUploadClient, FileUploadInterface)

Методика

close()
close(Callback<Disconnected>)

Закрывает транспортное подключение и уничтожает клиентские ресурсы.

Примечание. После вызова этого метода невозможно повторно использовать объект Client.

fromAuthenticationProvider(AuthenticationProvider, any)

Создает клиент устройства Центра Интернета вещей из заданного метода проверки подлинности и использует заданный тип транспорта.

fromConnectionString(string, any)

Создает клиент устройства Центра Интернета вещей из заданной строки подключения с помощью заданного типа транспорта.

fromSharedAccessSignature(string, any)

Создает клиент устройства Центра Интернета вещей из заданной подписанной общей подписи доступа с помощью заданного типа транспорта.

getBlobSharedAccessSignature(string)
getBlobSharedAccessSignature(string, Callback<UploadParams>)

getBlobSharedAccessSignature получает маркер SAS связанной учетной записи хранения из Центра Интернета вещей.

notifyBlobUploadStatus(string, boolean, number, string)
notifyBlobUploadStatus(string, boolean, number, string, ErrorCallback)

Метод notifyBlobUploadStatus отправляет Центр Интернета вещей результат отправки БОЛЬШОго двоичного объекта.

onDeviceMethod(string, (request: DeviceMethodRequest, response: DeviceMethodResponse) => void)

Регистрирует обратный вызов для метода с именем methodName.

setOptions(DeviceClientOptions)
setOptions(DeviceClientOptions, Callback<TransportConfigured>)
uploadToBlob(string, Stream, number)
uploadToBlob(string, Stream, number, ErrorCallback)

Метод uploadToBlob передает поток в большой двоичный объект.

Наследуемые методы

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

Псевдоним для emitter.on(eventName, listener).

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

Синхронно вызывает каждый из прослушивателей, зарегистрированных для события с именем eventName, в том порядке, в который они были зарегистрированы, передавая предоставленные аргументы каждому из них.

Возвращает true, если событие имело прослушиватели, 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
eventNames()

Возвращает массив, в котором перечислены события, для которых у поставщика зарегистрированы прослушиватели.

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

Возвращает текущее значение максимального прослушивателя для EventEmitter, заданное emitter.setMaxListeners(n) или значением по умолчанию events.defaultMaxListeners.

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

Возвращает число прослушивателей, прослушивающих событие с именем eventName. Если указана listener, он возвращает количество раз, когда прослушиватель найден в списке прослушивателей события.

listeners<E>(string | symbol)

Возвращает копию массива прослушивателей для события с именем 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)

Псевдоним для emitter.removeListener().

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

Добавляет функцию listener в конец массива прослушивателей для события с именем eventName. Проверка не выполняется, чтобы узнать, добавлена ли listener. Несколько вызовов, проходящих одно и то же сочетание eventName и listener, приведет к добавлению listener и вызову несколько раз.

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

Возвращает ссылку на EventEmitter, чтобы вызовы могли быть связаны.

По умолчанию прослушиватели событий вызываются в том порядке, в который они добавляются. Метод emitter.prependListener() можно использовать в качестве альтернативы для добавления прослушивателя событий в начало массива прослушивателей.

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)

Добавляет функцию однократного для события с именем . При следующем запуске eventName этот прослушиватель удаляется и вызывается.

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

Возвращает ссылку на EventEmitter, чтобы вызовы могли быть связаны.

По умолчанию прослушиватели событий вызываются в том порядке, в который они добавляются. Метод emitter.prependOnceListener() можно использовать в качестве альтернативы для добавления прослушивателя событий в начало массива прослушивателей.

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)

Добавляет функцию listener в начала массива прослушивателей для события с именем eventName. Проверка не выполняется, чтобы узнать, добавлена ли listener. Несколько вызовов, проходящих одно и то же сочетание eventName и listener, приведет к добавлению listener и вызову несколько раз.

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

Возвращает ссылку на EventEmitter, чтобы вызовы могли быть связаны.

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

Добавляет функцию однократного для события с именем в начиная массива прослушивателей. При следующем запуске eventName этот прослушиватель удаляется, а затем вызывается.

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

Возвращает ссылку на EventEmitter, чтобы вызовы могли быть связаны.

rawListeners<E>(string | symbol)

Возвращает копию массива прослушивателей для события с именем eventName, включая любые оболочки (например, созданные .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)

Удаляет все прослушиватели или те из указанных eventName.

Не рекомендуется удалять прослушиватели, добавленные в другое место в коде, особенно если экземпляр EventEmitter был создан другим компонентом или модулем (например, сокетами или потоками файлов).

Возвращает ссылку на EventEmitter, чтобы вызовы могли быть связаны.

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

Удаляет указанный listener из массива прослушивателя для события с именем eventName.

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

removeListener() удаляет в большинстве случаев один экземпляр прослушивателя из массива прослушивателя. Если один прослушиватель был добавлен несколько раз в массив прослушивателя для указанного eventName, removeListener() необходимо вызывать несколько раз, чтобы удалить каждый экземпляр.

После создания события все прослушиватели, подключенные к нему во время создания, вызываются в порядке. Это означает, что любые removeListener() вызовы removeAllListeners()OR после эмитирования и до завершения выполнения последним слушателем не удалят их из emit() процесса. Последующие события ведут себя должным образом.

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

Поскольку слушатели управляются с помощью внутреннего массива, вызов этого параметра изменяет индексы позиций любого слушателя, зарегистрированного после удаления слушателя. Это не повлияет на порядок вызова прослушивателей, но это означает, что все копии массива прослушивателя, возвращенные методом emitter.listeners(), должны быть воссозданы.

Если одна функция была добавлена в обработчик несколько раз для одного события (как в примере ниже), removeListener() удалит последний добавленный экземпляр. В примере прослушивателя 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');

Возвращает ссылку на EventEmitter, чтобы вызовы могли быть связаны.

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

По умолчанию EventEmitterбудет выводить предупреждение, если для определенного события добавляются более 10 прослушивателей. Это полезное значение по умолчанию, которое помогает находить утечки памяти. Метод emitter.setMaxListeners() позволяет изменить ограничение для этого конкретного экземпляра EventEmitter. Для указания неограниченного количества прослушивателей можно задать значение Infinity (или 0).

Возвращает ссылку на EventEmitter, чтобы вызовы могли быть связаны.

setRetryPolicy(RetryPolicy)

Задает политику повторных попыток, используемую клиентом во всех операциях. Значение по умолчанию — ExponentialBackoffWithJitter.

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

Метод Symbol.for('nodejs.rejection') вызывается в случае, если при выпуске события происходит отказ обещания и captureRejections активируется на эмиттере. Возможно использовать events.captureRejectionSymbol вместо 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.
  }
}

Подробнее о конструкторе

Client(DeviceTransport, string, BlobUploadClient, FileUploadInterface)

new Client(transport: DeviceTransport, connStr?: string, blobUploadClient?: BlobUploadClient, fileUploadApi?: FileUploadInterface)

Параметры

transport
DeviceTransport

Объект, реализующий интерфейс, ожидаемый для транспортного объекта, например Http.

connStr

string

Строка подключения (необязательно: если она не указана, необходимо вызвать updateSharedAccessSignature, чтобы задать маркер SharedAccessSignature напрямую).

blobUploadClient

BlobUploadClient

Объект, способный передавать поток в большой двоичный объект.

fileUploadApi

FileUploadInterface

Объект, используемый для взаимодействия с Центром Интернета вещей для связанных действий хранилища BLOB-объектов.

Подробнее о методе

close()

function close(): Promise<Disconnected>

Возвращает

Promise<Disconnected>

close(Callback<Disconnected>)

Закрывает транспортное подключение и уничтожает клиентские ресурсы.

Примечание. После вызова этого метода невозможно повторно использовать объект Client.

function close(closeCallback?: Callback<Disconnected>)

Параметры

closeCallback

Callback<Disconnected>

Необязательная функция для вызова после отключения транспорта и закрытия клиента.

fromAuthenticationProvider(AuthenticationProvider, any)

Создает клиент устройства Центра Интернета вещей из заданного метода проверки подлинности и использует заданный тип транспорта.

static function fromAuthenticationProvider(authenticationProvider: AuthenticationProvider, transportCtor: any): Client

Параметры

authenticationProvider

AuthenticationProvider

Объект, используемый для получения параметров проверки подлинности для Центра Интернета вещей.

transportCtor

any

Транспортный протокол, используемый для подключения к Центру Интернета вещей.

Возвращает

fromConnectionString(string, any)

Создает клиент устройства Центра Интернета вещей из заданной строки подключения с помощью заданного типа транспорта.

static function fromConnectionString(connStr: string, transportCtor: any): Client

Параметры

connStr

string

Строка подключения, которая инкапсулирует разрешения "device connect" в Центре Интернета вещей.

transportCtor

any

Конструктор транспорта.

Возвращает

fromSharedAccessSignature(string, any)

Создает клиент устройства Центра Интернета вещей из заданной подписанной общей подписи доступа с помощью заданного типа транспорта.

static function fromSharedAccessSignature(sharedAccessSignature: string, transportCtor: any): Client

Параметры

sharedAccessSignature

string

Подписанный URL-адрес, инкапсулирующий разрешения "device connect" в Центре Интернета вещей.

transportCtor

any

Возвращает

getBlobSharedAccessSignature(string)

function getBlobSharedAccessSignature(blobName: string): Promise<UploadParams>

Параметры

blobName

string

Возвращает

Promise<UploadParams>

getBlobSharedAccessSignature(string, Callback<UploadParams>)

getBlobSharedAccessSignature получает маркер SAS связанной учетной записи хранения из Центра Интернета вещей.

function getBlobSharedAccessSignature(blobName: string, callback?: Callback<UploadParams>)

Параметры

blobName

string

Имя, используемое для большого двоичного объекта, который будет создан с содержимым потока.

callback

Callback<UploadParams>

Необязательный обратный вызов при завершении отправки.

notifyBlobUploadStatus(string, boolean, number, string)

function notifyBlobUploadStatus(correlationId: string, isSuccess: boolean, statusCode: number, statusDescription: string): Promise<void>

Параметры

correlationId

string

isSuccess

boolean

statusCode

number

statusDescription

string

Возвращает

Promise<void>

notifyBlobUploadStatus(string, boolean, number, string, ErrorCallback)

Метод notifyBlobUploadStatus отправляет Центр Интернета вещей результат отправки БОЛЬШОго двоичного объекта.

function notifyBlobUploadStatus(correlationId: string, isSuccess: boolean, statusCode: number, statusDescription: string, callback?: ErrorCallback)

Параметры

correlationId

string

Идентификатор для сопоставления состояния отправки с определенным BLOB-объектом. Создан во время вызова getBlobSharedAccessSignature.

isSuccess

boolean

Состояние успешного выполнения или сбоя из результата операции большого двоичного объекта хранилища.

statusCode

number

Код состояния HTTP, связанный с результатом большого двоичного объекта хранилища.

statusDescription

string

Описание кода состояния HTTP.

callback

ErrorCallback

Необязательный обратный вызов при завершении отправки.

onDeviceMethod(string, (request: DeviceMethodRequest, response: DeviceMethodResponse) => void)

Регистрирует обратный вызов для метода с именем methodName.

function onDeviceMethod(methodName: string, callback: (request: DeviceMethodRequest, response: DeviceMethodResponse) => void)

Параметры

methodName

string

Имя метода, который будет обрабатываться обратным вызовом

callback

(request: DeviceMethodRequest, response: DeviceMethodResponse) => void

Функция, которая должна вызываться всякий раз при получении запроса метода для метода, вызываемого methodName.

setOptions(DeviceClientOptions)

function setOptions(options: DeviceClientOptions): Promise<TransportConfigured>

Параметры

Возвращает

Promise<TransportConfigured>

setOptions(DeviceClientOptions, Callback<TransportConfigured>)

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

Параметры

done

Callback<TransportConfigured>

uploadToBlob(string, Stream, number)

function uploadToBlob(blobName: string, stream: Stream, streamLength: number): Promise<void>

Параметры

blobName

string

stream

Stream

streamLength

number

Возвращает

Promise<void>

uploadToBlob(string, Stream, number, ErrorCallback)

Метод uploadToBlob передает поток в большой двоичный объект.

function uploadToBlob(blobName: string, stream: Stream, streamLength: number, callback: ErrorCallback)

Параметры

blobName

string

Имя, используемое для большого двоичного объекта, который будет создан с содержимым потока.

stream

Stream

Данные, которые должны быть отправлены в большой двоичный объект.

streamLength

number

Размер данных, которые должны быть отправлены в большой двоичный объект.

callback

ErrorCallback

Сведения о наследуемом методе

abandon(Message)

function abandon(message: Message): Promise<MessageAbandoned>

Параметры

message
Message

Возвращает

Promise<MessageAbandoned>

унаследован от InternalClient.abandon

abandon(Message, Callback<MessageAbandoned>)

function abandon(message: Message, abandonCallback: Callback<MessageAbandoned>)

Параметры

message
Message
abandonCallback

Callback<MessageAbandoned>

унаследован от InternalClient.abandon

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

Псевдоним для emitter.on(eventName, listener).

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

Параметры

eventName

string | symbol

listener

(args: any[]) => void

Возвращает

унаследован от InternalClient.addListener

complete(Message)

function complete(message: Message): Promise<MessageCompleted>

Параметры

message
Message

Возвращает

Promise<MessageCompleted>

унаследован от InternalClient.complete

complete(Message, Callback<MessageCompleted>)

function complete(message: Message, completeCallback: Callback<MessageCompleted>)

Параметры

message
Message
completeCallback

Callback<MessageCompleted>

унаследован от InternalClient.complete

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

Синхронно вызывает каждый из прослушивателей, зарегистрированных для события с именем eventName, в том порядке, в который они были зарегистрированы, передавая предоставленные аргументы каждому из них.

Возвращает true, если событие имело прослушиватели, 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

Параметры

eventName

string | symbol

args

any[]

Возвращает

boolean

наследуется от InternalClient.emit

eventNames()

Возвращает массив, в котором перечислены события, для которых у поставщика зарегистрированы прослушиватели.

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

Возвращает

(string | symbol)[]

Наследуется от InternalClient.eventNames

getMaxListeners()

Возвращает текущее значение максимального прослушивателя для EventEmitter, заданное emitter.setMaxListeners(n) или значением по умолчанию events.defaultMaxListeners.

function getMaxListeners(): number

Возвращает

number

наследуется от InternalClient.getMaxListeners

getTwin()

function getTwin(): Promise<Twin>

Возвращает

Promise<Twin>

унаследован от InternalClient.getTwin

getTwin(Callback<Twin>)

function getTwin(done: Callback<Twin>)

Параметры

done

Callback<Twin>

унаследован от InternalClient.getTwin

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

Возвращает число прослушивателей, прослушивающих событие с именем eventName. Если указана listener, он возвращает количество раз, когда прослушиватель найден в списке прослушивателей события.

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

Параметры

eventName

string | symbol

Имя прослушиваемого события

listener

(args: any[]) => void

Функция обработчика событий

Возвращает

number

наследуется от InternalClient.listenerCount

listeners<E>(string | symbol)

Возвращает копию массива прослушивателей для события с именем 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[]

Параметры

eventName

string | symbol

Возвращает

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

наследуется от InternalClient.прослушивателей

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

Псевдоним для emitter.removeListener().

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

Параметры

eventName

string | symbol

listener

(args: any[]) => void

Возвращает

наследуется от InternalClient.off

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

Добавляет функцию listener в конец массива прослушивателей для события с именем eventName. Проверка не выполняется, чтобы узнать, добавлена ли listener. Несколько вызовов, проходящих одно и то же сочетание eventName и listener, приведет к добавлению listener и вызову несколько раз.

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

Возвращает ссылку на EventEmitter, чтобы вызовы могли быть связаны.

По умолчанию прослушиватели событий вызываются в том порядке, в который они добавляются. Метод emitter.prependListener() можно использовать в качестве альтернативы для добавления прослушивателя событий в начало массива прослушивателей.

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

Параметры

eventName

string | symbol

Имя события.

listener

(args: any[]) => void

Функция обратного вызова

Возвращает

унаследовано от InternalClient.on

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

Добавляет функцию однократного для события с именем . При следующем запуске eventName этот прослушиватель удаляется и вызывается.

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

Возвращает ссылку на EventEmitter, чтобы вызовы могли быть связаны.

По умолчанию прослушиватели событий вызываются в том порядке, в который они добавляются. Метод emitter.prependOnceListener() можно использовать в качестве альтернативы для добавления прослушивателя событий в начало массива прослушивателей.

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

Параметры

eventName

string | symbol

Имя события.

listener

(args: any[]) => void

Функция обратного вызова

Возвращает

наследуется от InternalClient.once

open()

function open(): Promise<Connected>

Возвращает

Promise<Connected>

наследуется от InternalClient.open

open(Callback<Connected>)

function open(openCallback: Callback<Connected>)

Параметры

openCallback

Callback<Connected>

наследуется от InternalClient.open

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

Добавляет функцию listener в начала массива прослушивателей для события с именем eventName. Проверка не выполняется, чтобы узнать, добавлена ли listener. Несколько вызовов, проходящих одно и то же сочетание eventName и listener, приведет к добавлению listener и вызову несколько раз.

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

Возвращает ссылку на EventEmitter, чтобы вызовы могли быть связаны.

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

Параметры

eventName

string | symbol

Имя события.

listener

(args: any[]) => void

Функция обратного вызова

Возвращает

унаследован от InternalClient.prependListener

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

Добавляет функцию однократного для события с именем в начиная массива прослушивателей. При следующем запуске eventName этот прослушиватель удаляется, а затем вызывается.

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

Возвращает ссылку на EventEmitter, чтобы вызовы могли быть связаны.

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

Параметры

eventName

string | symbol

Имя события.

listener

(args: any[]) => void

Функция обратного вызова

Возвращает

унаследован от InternalClient.prependOnceListener

rawListeners<E>(string | symbol)

Возвращает копию массива прослушивателей для события с именем eventName, включая любые оболочки (например, созданные .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[]

Параметры

eventName

string | symbol

Возвращает

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

унаследовано от InternalClient.rawListeners

reject(Message)

function reject(message: Message): Promise<MessageRejected>

Параметры

message
Message

Возвращает

Promise<MessageRejected>

наследуется от InternalClient.reject

reject(Message, Callback<MessageRejected>)

function reject(message: Message, rejectCallback: Callback<MessageRejected>)

Параметры

message
Message
rejectCallback

Callback<MessageRejected>

наследуется от InternalClient.reject

removeAllListeners<E>(string | symbol)

Удаляет все прослушиватели или те из указанных eventName.

Не рекомендуется удалять прослушиватели, добавленные в другое место в коде, особенно если экземпляр EventEmitter был создан другим компонентом или модулем (например, сокетами или потоками файлов).

Возвращает ссылку на EventEmitter, чтобы вызовы могли быть связаны.

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

Параметры

eventName

string | symbol

Возвращает

наследуется от InternalClient.removeAllListeners

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

Удаляет указанный listener из массива прослушивателя для события с именем eventName.

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

removeListener() удаляет в большинстве случаев один экземпляр прослушивателя из массива прослушивателя. Если один прослушиватель был добавлен несколько раз в массив прослушивателя для указанного eventName, removeListener() необходимо вызывать несколько раз, чтобы удалить каждый экземпляр.

После создания события все прослушиватели, подключенные к нему во время создания, вызываются в порядке. Это означает, что любые removeListener() вызовы removeAllListeners()OR после эмитирования и до завершения выполнения последним слушателем не удалят их из emit() процесса. Последующие события ведут себя должным образом.

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

Поскольку слушатели управляются с помощью внутреннего массива, вызов этого параметра изменяет индексы позиций любого слушателя, зарегистрированного после удаления слушателя. Это не повлияет на порядок вызова прослушивателей, но это означает, что все копии массива прослушивателя, возвращенные методом emitter.listeners(), должны быть воссозданы.

Если одна функция была добавлена в обработчик несколько раз для одного события (как в примере ниже), removeListener() удалит последний добавленный экземпляр. В примере прослушивателя 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');

Возвращает ссылку на EventEmitter, чтобы вызовы могли быть связаны.

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

Параметры

eventName

string | symbol

listener

(args: any[]) => void

Возвращает

унаследован от InternalClient.removeListener

sendEvent(Message)

function sendEvent(message: Message): Promise<MessageEnqueued>

Параметры

message
Message

Возвращает

Promise<MessageEnqueued>

унаследовано от InternalClient.sendEvent

sendEvent(Message, Callback<MessageEnqueued>)

function sendEvent(message: Message, sendEventCallback: Callback<MessageEnqueued>)

Параметры

message
Message
sendEventCallback

Callback<MessageEnqueued>

унаследовано от InternalClient.sendEvent

sendEventBatch(Message[])

function sendEventBatch(messages: Message[]): Promise<MessageEnqueued>

Параметры

messages

Message[]

Возвращает

Promise<MessageEnqueued>

унаследован от InternalClient.sendEventBatch

sendEventBatch(Message[], Callback<MessageEnqueued>)

function sendEventBatch(messages: Message[], sendEventBatchCallback: Callback<MessageEnqueued>)

Параметры

messages

Message[]

sendEventBatchCallback

Callback<MessageEnqueued>

унаследован от InternalClient.sendEventBatch

setMaxListeners(number)

По умолчанию EventEmitterбудет выводить предупреждение, если для определенного события добавляются более 10 прослушивателей. Это полезное значение по умолчанию, которое помогает находить утечки памяти. Метод emitter.setMaxListeners() позволяет изменить ограничение для этого конкретного экземпляра EventEmitter. Для указания неограниченного количества прослушивателей можно задать значение Infinity (или 0).

Возвращает ссылку на EventEmitter, чтобы вызовы могли быть связаны.

function setMaxListeners(n: number): Client

Параметры

n

number

Возвращает

наследуется от InternalClient.setMaxListeners

setRetryPolicy(RetryPolicy)

Задает политику повторных попыток, используемую клиентом во всех операциях. Значение по умолчанию — ExponentialBackoffWithJitter.

function setRetryPolicy(policy: RetryPolicy)

Параметры

policy

RetryPolicy

{RetryPolicy} Политика повторных попыток, которая должна использоваться для всех будущих операций.

унаследован от InternalClient.setRetryPolicy

setTransportOptions(any)

function setTransportOptions(options: any): Promise<TransportConfigured>

Параметры

options

any

Возвращает

Promise<TransportConfigured>

наследуется от InternalClient.setTransportOptions

setTransportOptions(any, Callback<TransportConfigured>)

function setTransportOptions(options: any, done: Callback<TransportConfigured>)

Параметры

options

any

done

Callback<TransportConfigured>

наследуется от InternalClient.setTransportOptions

updateSharedAccessSignature(string, Callback<SharedAccessSignatureUpdated>)

function updateSharedAccessSignature(sharedAccessSignature: string, updateSasCallback?: Callback<SharedAccessSignatureUpdated>)

Параметры

sharedAccessSignature

string

updateSasCallback

Callback<SharedAccessSignatureUpdated>

унаследован от InternalClient.updateSharedAccessSignature

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

Метод Symbol.for('nodejs.rejection') вызывается в случае, если при выпуске события происходит отказ обещания и captureRejections активируется на эмиттере. Возможно использовать events.captureRejectionSymbol вместо 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[])

Параметры

error

Error

event

string | symbol

args

any[]

Унаследованный от InternalClient.__@captureRejectionSymbol@129