次の方法で共有


Client class

デバイスを Azure IoT Hub に接続するために使用される IoT Hub デバイス クライアント。

SDK のユーザーは、ファクトリ メソッドのいずれかを呼び出す必要があります。fromConnectionString または SharedAccessSignature から して IoT Hub デバイス クライアントを作成します。

Extends

InternalClient

コンストラクター

Client(DeviceTransport, string, BlobUploadClient, FileUploadInterface)

メソッド

close()
close(Callback<Disconnected>)

トランスポート接続を閉じ、クライアント リソースを破棄します。

注: このメソッドを呼び出した後、Client オブジェクトを再利用することはできません。

fromAuthenticationProvider(AuthenticationProvider, any)

指定された認証方法から、指定されたトランスポートの種類を使用して、IoT Hub デバイス クライアントを作成します。

fromConnectionString(string, any)

指定したトランスポートの種類を使用して、指定された接続文字列から IoT Hub デバイス クライアントを作成します。

fromSharedAccessSignature(string, any)

指定したトランスポートの種類を使用して、指定された共有アクセス署名から IoT Hub デバイス クライアントを作成します。

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

getBlobSharedAccessSignature は、IoT Hub からリンクされたストレージ アカウント SAS トークンを取得します

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

notifyBlobUploadStatus メソッドは、BLOB アップロードの結果を IoT Hub に送信します。

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

methodNameという名前のメソッドのコールバックを登録します。

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

uploadToBlob メソッドは、BLOB にストリームをアップロードします。

継承されたメソッド

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 が既に追加されているかどうかを確認するチェックは行われません。 eventNamelistener の同じ組み合わせを渡す複数の呼び出しでは、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)

という名前のイベント listenereventName 関数を追加します。 次回 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 が既に追加されているかどうかを確認するチェックは行われません。 eventNamelistener の同じ組み合わせを渡す複数の呼び出しでは、listener が複数回追加され、呼び出されます。

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

呼び出しをチェーンできるように、EventEmitterへの参照を返します。

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

という名前のイベントの 1 回限りの 関数をリスナー配列の先頭 に追加します。 次に 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() は、リスナー配列からリスナーのインスタンスを最大で 1 つ削除します。 指定した eventNameのリスナー配列に 1 つのリスナーが複数回追加されている場合は、各インスタンスを削除するために removeListener() を複数回呼び出す必要があります。

イベントが生成されると、出力時にそれにアタッチされているすべてのリスナーが順番に呼び出されます。 これは、発信かつ最後のリスナーが実行を終える前にremoveListener()またはremoveAllListeners()コールが行っても、進行中の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() メソッドによって返されるリスナー配列のコピーを再作成する必要があることを意味します。

(次の例のように) 1 つのイベントに対して 1 つの関数がハンドラーとして複数回追加された場合、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)

既定では、EventEmitters は、特定のイベントに対して 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が有効化された場合に呼び出されます。 Symbol.for('nodejs.rejection')の代わりに events.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.
  }
}

コンストラクターの詳細

Client(DeviceTransport, string, BlobUploadClient, FileUploadInterface)

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

パラメーター

transport
DeviceTransport

トランスポート オブジェクトに必要なインターフェイスを実装するオブジェクト (例: httpします。

connStr

string

接続文字列 (省略可能: 指定しない場合は、SharedAccessSignature トークンを直接設定するために updateSharedAccessSignature を呼び出す必要があります)。

blobUploadClient

BlobUploadClient

BLOB にストリームをアップロードできるオブジェクト。

fileUploadApi

FileUploadInterface

Blob Storage 関連アクションの IoT Hub との通信に使用されるオブジェクト。

メソッドの詳細

close()

function close(): Promise<Disconnected>

戻り値

Promise<Disconnected>

close(Callback<Disconnected>)

トランスポート接続を閉じ、クライアント リソースを破棄します。

注: このメソッドを呼び出した後、Client オブジェクトを再利用することはできません。

function close(closeCallback?: Callback<Disconnected>)

パラメーター

closeCallback

Callback<Disconnected>

トランスポートが切断され、クライアントが閉じられた後に呼び出す省略可能な関数。

fromAuthenticationProvider(AuthenticationProvider, any)

指定された認証方法から、指定されたトランスポートの種類を使用して、IoT Hub デバイス クライアントを作成します。

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

パラメーター

authenticationProvider

AuthenticationProvider

IoT ハブの認証パラメーターを取得するために使用されるオブジェクト。

transportCtor

any

IoT ハブへの接続に使用されるトランスポート プロトコル。

戻り値

fromConnectionString(string, any)

指定したトランスポートの種類を使用して、指定された接続文字列から IoT Hub デバイス クライアントを作成します。

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

パラメーター

connStr

string

IoT ハブに対する "デバイス接続" アクセス許可をカプセル化する接続文字列。

transportCtor

any

トランスポート コンストラクター。

戻り値

fromSharedAccessSignature(string, any)

指定したトランスポートの種類を使用して、指定された共有アクセス署名から IoT Hub デバイス クライアントを作成します。

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

パラメーター

sharedAccessSignature

string

IoT ハブの "デバイス接続" アクセス許可をカプセル化する Shared Access Signature。

transportCtor

any

戻り値

getBlobSharedAccessSignature(string)

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

パラメーター

blobName

string

戻り値

Promise<UploadParams>

getBlobSharedAccessSignature(string, Callback<UploadParams>)

getBlobSharedAccessSignature は、IoT Hub からリンクされたストレージ アカウント SAS トークンを取得します

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

パラメーター

blobName

string

ストリームのコンテンツで作成される BLOB に使用する名前。

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 メソッドは、BLOB アップロードの結果を IoT Hub に送信します。

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

パラメーター

correlationId

string

アップロードの状態を特定の BLOB に関連付ける ID。 getBlobSharedAccessSignatureの呼び出し中に生成されます。

isSuccess

boolean

ストレージ BLOB 操作の結果からの成功または失敗の状態。

statusCode

number

ストレージ BLOB の結果に関連付けられている 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 メソッドは、BLOB にストリームをアップロードします。

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

パラメーター

blobName

string

ストリームのコンテンツで作成される BLOB に使用する名前。

stream

Stream

BLOB にアップロードする必要があるデータ。

streamLength

number

BLOB にアップロードするデータのサイズ。

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.listeners から継承された

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 が既に追加されているかどうかを確認するチェックは行われません。 eventNamelistener の同じ組み合わせを渡す複数の呼び出しでは、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)

という名前のイベント listenereventName 関数を追加します。 次回 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 が既に追加されているかどうかを確認するチェックは行われません。 eventNamelistener の同じ組み合わせを渡す複数の呼び出しでは、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)

という名前のイベントの 1 回限りの 関数をリスナー配列の先頭 に追加します。 次に 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() は、リスナー配列からリスナーのインスタンスを最大で 1 つ削除します。 指定した eventNameのリスナー配列に 1 つのリスナーが複数回追加されている場合は、各インスタンスを削除するために removeListener() を複数回呼び出す必要があります。

イベントが生成されると、出力時にそれにアタッチされているすべてのリスナーが順番に呼び出されます。 これは、発信かつ最後のリスナーが実行を終える前にremoveListener()またはremoveAllListeners()コールが行っても、進行中の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() メソッドによって返されるリスナー配列のコピーを再作成する必要があることを意味します。

(次の例のように) 1 つのイベントに対して 1 つの関数がハンドラーとして複数回追加された場合、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)

既定では、EventEmitters は、特定のイベントに対して 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が有効化された場合に呼び出されます。 Symbol.for('nodejs.rejection')の代わりに events.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[])

パラメーター

error

Error

event

string | symbol

args

any[]

継承者 InternalClient.__@captureRejectionSymbol@127