Bagikan melalui


Client class

Klien perangkat IoT Hub yang digunakan untuk menyambungkan perangkat dengan hub Azure IoT.

Pengguna SDK harus memanggil salah satu metode pabrik, dariConnectionString atau dari SharedAccessSignature untuk membuat klien perangkat IoT Hub.

Memperluas

InternalClient

Konstruktor

Client(DeviceTransport, string, BlobUploadClient, FileUploadInterface)

Metode

close()
close(Callback<Disconnected>)

Menutup koneksi transportasi dan menghancurkan sumber daya klien.

Catatan: Setelah memanggil metode ini, objek Klien tidak dapat digunakan kembali.

fromAuthenticationProvider(AuthenticationProvider, any)

Membuat klien perangkat IoT Hub dari metode autentikasi yang diberikan dan menggunakan jenis transportasi yang diberikan.

fromConnectionString(string, any)

Membuat klien perangkat IoT Hub dari string koneksi yang diberikan menggunakan jenis transportasi yang diberikan.

fromSharedAccessSignature(string, any)

Membuat klien perangkat IoT Hub dari tanda tangan akses bersama yang diberikan menggunakan jenis transportasi yang diberikan.

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

getBlobSharedAccessSignature mendapatkan Token SAS akun penyimpanan tertaut dari IoT Hub

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

Metode notifyBlobUploadStatus mengirimkan IoT Hub hasil unggahan blob.

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

Mendaftarkan panggilan balik untuk metode bernama methodName.

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

Metode uploadToBlob mengunggah aliran ke blob.

Metode yang Diwarisi

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

Alias untuk emitter.on(eventName, listener).

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

Secara sinkron memanggil masing-masing pendengar yang terdaftar untuk peristiwa bernama eventName, dalam urutan terdaftar, meneruskan argumen yang disediakan ke masing-masing.

Mengembalikan true jika peristiwa memiliki pendengar, false sebaliknya.

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

Mengembalikan array yang mencantumkan peristiwa di mana pemancar telah mendaftarkan pendengar.

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

Mengembalikan nilai pendengar maks saat ini untuk EventEmitter yang diatur oleh emitter.setMaxListeners(n) atau default ke events.defaultMaxListeners.

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

Mengembalikan jumlah pendengar yang mendengarkan peristiwa bernama eventName. Jika listener disediakan, itu akan mengembalikan berapa kali pendengar ditemukan dalam daftar pendengar acara.

listeners<E>(string | symbol)

Mengembalikan salinan array pendengar untuk peristiwa bernama 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)

Alias untuk emitter.removeListener().

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

Menambahkan fungsi listener ke akhir array pendengar untuk peristiwa bernama eventName. Tidak ada pemeriksaan yang dilakukan untuk melihat apakah listener telah ditambahkan. Beberapa panggilan yang melewati kombinasi eventName dan listener yang sama akan mengakibatkan listener ditambahkan, dan dipanggil, beberapa kali.

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

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat ditautkan.

Secara default, pendengar peristiwa dipanggil dalam urutan ditambahkan. Metode emitter.prependListener() dapat digunakan sebagai alternatif untuk menambahkan pendengar peristiwa ke awal array pendengar.

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)

Menambahkan fungsi satu kali untuk peristiwa bernama . Lain kali eventName dipicu, pendengar ini dihapus lalu dipanggil.

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

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat ditautkan.

Secara default, pendengar peristiwa dipanggil dalam urutan ditambahkan. Metode emitter.prependOnceListener() dapat digunakan sebagai alternatif untuk menambahkan pendengar peristiwa ke awal array pendengar.

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)

Menambahkan fungsi ke awal array pendengar untuk peristiwa bernama . Tidak ada pemeriksaan yang dilakukan untuk melihat apakah listener telah ditambahkan. Beberapa panggilan yang melewati kombinasi eventName dan listener yang sama akan mengakibatkan listener ditambahkan, dan dipanggil, beberapa kali.

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

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat ditautkan.

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

Menambahkan fungsi satu kali untuk peristiwa bernama ke awal array pendengar. Lain kali eventName dipicu, pendengar ini dihapus, lalu dipanggil.

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

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat ditautkan.

rawListeners<E>(string | symbol)

Mengembalikan salinan array pendengar untuk peristiwa bernama eventName, termasuk pembungkus apa pun (seperti yang dibuat oleh .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)

Menghapus semua pendengar, atau pendengar dari eventNameyang ditentukan.

Adalah praktik buruk untuk menghapus listener yang ditambahkan di tempat lain dalam kode, terutama ketika instans EventEmitter dibuat oleh beberapa komponen atau modul lain (misalnya soket atau aliran file).

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat ditautkan.

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

Menghapus listener yang ditentukan dari array pendengar untuk peristiwa bernama eventName.

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

removeListener() akan menghapus, paling banyak, satu instans pendengar dari array pendengar. Jika ada pendengar tunggal yang telah ditambahkan beberapa kali ke array pendengar untuk eventNameyang ditentukan, maka removeListener() harus dipanggil beberapa kali untuk menghapus setiap instans.

Setelah peristiwa dipancarkan, semua pendengar yang melekat padanya pada saat pemancaran dipanggil secara berurutan. Ini menyiratkan bahwa panggilan apa pun removeListener()removeAllListeners() memancarkan dan sebelum pemroses terakhir menyelesaikan eksekusi tidak akan menghapusnya dari emit() sedang berlangsung. Peristiwa berikutnya berulah seperti yang diharapkan.

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

Karena pemroses dikelola menggunakan array internal, memanggil ini akan mengubah indeks posisi pemroses mana pun yang terdaftar setelah pemroses dihapus. Ini tidak akan berdampak pada urutan di mana pendengar dipanggil, tetapi itu berarti bahwa salinan array pendengar seperti yang dikembalikan oleh metode emitter.listeners() perlu dibuat ulang.

Ketika satu fungsi telah ditambahkan sebagai handler beberapa kali untuk satu peristiwa (seperti dalam contoh di bawah), removeListener() akan menghapus instans yang terakhir ditambahkan. Dalam contoh pendengar once('ping') dihapus:

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

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat ditautkan.

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

Secara default EventEmitterakan mencetak peringatan jika lebih dari 10 pendengar ditambahkan untuk peristiwa tertentu. Ini adalah default yang berguna yang membantu menemukan kebocoran memori. Metode emitter.setMaxListeners() memungkinkan batas untuk dimodifikasi untuk instans EventEmitter spesifik ini. Nilai dapat diatur ke Infinity (atau 0) untuk menunjukkan jumlah listener yang tidak terbatas.

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat ditautkan.

setRetryPolicy(RetryPolicy)

Mengatur kebijakan coba lagi yang digunakan oleh klien pada semua operasi. Defaultnya adalah ExponentialBackoffWithJitter.

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

Metode ini Symbol.for('nodejs.rejection') dipanggil jika penolakan janji terjadi saat memancarkan peristiwa dan captureRejections diaktifkan pada emitor. Dimungkinkan untuk digunakan events.captureRejectionSymbol sebagai pengganti 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.
  }
}

Detail Konstruktor

Client(DeviceTransport, string, BlobUploadClient, FileUploadInterface)

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

Parameter

transport
DeviceTransport

Objek yang mengimplementasikan antarmuka yang diharapkan dari objek transportasi, misalnya, Http.

connStr

string

String koneksi (opsional: jika tidak disediakan, updateSharedAccessSignature harus dipanggil untuk mengatur token SharedAccessSignature secara langsung).

blobUploadClient

BlobUploadClient

Objek yang mampu mengunggah aliran ke blob.

fileUploadApi

FileUploadInterface

Objek yang digunakan untuk berkomunikasi dengan IoT Hub untuk tindakan terkait Blob Storage.

Detail Metode

close()

function close(): Promise<Disconnected>

Mengembalikan

Promise<Disconnected>

close(Callback<Disconnected>)

Menutup koneksi transportasi dan menghancurkan sumber daya klien.

Catatan: Setelah memanggil metode ini, objek Klien tidak dapat digunakan kembali.

function close(closeCallback?: Callback<Disconnected>)

Parameter

closeCallback

Callback<Disconnected>

Fungsi opsional untuk memanggil setelah transportasi terputus dan klien ditutup.

fromAuthenticationProvider(AuthenticationProvider, any)

Membuat klien perangkat IoT Hub dari metode autentikasi yang diberikan dan menggunakan jenis transportasi yang diberikan.

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

Parameter

authenticationProvider

AuthenticationProvider

Objek yang digunakan untuk mendapatkan parameter autentikasi untuk hub IoT.

transportCtor

any

Protokol transportasi yang digunakan untuk menyambungkan ke hub IoT.

Mengembalikan

fromConnectionString(string, any)

Membuat klien perangkat IoT Hub dari string koneksi yang diberikan menggunakan jenis transportasi yang diberikan.

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

Parameter

connStr

string

String koneksi yang merangkum izin "device connect" pada hub IoT.

transportCtor

any

Konstruktor transportasi.

Mengembalikan

fromSharedAccessSignature(string, any)

Membuat klien perangkat IoT Hub dari tanda tangan akses bersama yang diberikan menggunakan jenis transportasi yang diberikan.

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

Parameter

sharedAccessSignature

string

Tanda tangan akses bersama yang merangkum izin "koneksi perangkat" di hub IoT.

transportCtor

any

Mengembalikan

getBlobSharedAccessSignature(string)

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

Parameter

blobName

string

Mengembalikan

Promise<UploadParams>

getBlobSharedAccessSignature(string, Callback<UploadParams>)

getBlobSharedAccessSignature mendapatkan Token SAS akun penyimpanan tertaut dari IoT Hub

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

Parameter

blobName

string

Nama yang akan digunakan untuk blob yang akan dibuat dengan konten aliran.

callback

Callback<UploadParams>

Panggilan balik opsional untuk memanggil saat pengunggahan selesai.

notifyBlobUploadStatus(string, boolean, number, string)

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

Parameter

correlationId

string

isSuccess

boolean

statusCode

number

statusDescription

string

Mengembalikan

Promise<void>

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

Metode notifyBlobUploadStatus mengirimkan IoT Hub hasil unggahan blob.

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

Parameter

correlationId

string

Id untuk menghubungkan status unggahan ke blob tertentu. Dihasilkan selama panggilan ke getBlobSharedAccessSignature.

isSuccess

boolean

Status keberhasilan atau kegagalan dari hasil operasi blob penyimpanan.

statusCode

number

Kode status HTTP yang terkait dengan hasil blob penyimpanan.

statusDescription

string

Deskripsi kode status HTTP.

callback

ErrorCallback

Panggilan balik opsional untuk memanggil saat pengunggahan selesai.

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

Mendaftarkan panggilan balik untuk metode bernama methodName.

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

Parameter

methodName

string

Nama metode yang akan ditangani oleh panggilan balik

callback

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

Fungsi yang akan dipanggil setiap kali permintaan metode untuk metode yang disebut methodName diterima.

setOptions(DeviceClientOptions)

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

Parameter

Mengembalikan

Promise<TransportConfigured>

setOptions(DeviceClientOptions, Callback<TransportConfigured>)

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

Parameter

done

Callback<TransportConfigured>

uploadToBlob(string, Stream, number)

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

Parameter

blobName

string

stream

Stream

streamLength

number

Mengembalikan

Promise<void>

uploadToBlob(string, Stream, number, ErrorCallback)

Metode uploadToBlob mengunggah aliran ke blob.

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

Parameter

blobName

string

Nama yang akan digunakan untuk blob yang akan dibuat dengan konten aliran.

stream

Stream

Data ke yang harus diunggah ke blob.

streamLength

number

Ukuran data yang harus diunggah ke blob.

callback

ErrorCallback

Detail Metode yang Diwarisi

abandon(Message)

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

Parameter

message
Message

Mengembalikan

Promise<MessageAbandoned>

Diwariskan Dari InternalClient.abandon

abandon(Message, Callback<MessageAbandoned>)

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

Parameter

message
Message
abandonCallback

Callback<MessageAbandoned>

Diwariskan Dari InternalClient.abandon

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

Alias untuk emitter.on(eventName, listener).

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

Parameter

eventName

string | symbol

listener

(args: any[]) => void

Mengembalikan

Diwariskan Dari InternalClient.addListener

complete(Message)

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

Parameter

message
Message

Mengembalikan

Promise<MessageCompleted>

Diwarisi Dari InternalClient.complete

complete(Message, Callback<MessageCompleted>)

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

Parameter

message
Message
completeCallback

Callback<MessageCompleted>

Diwarisi Dari InternalClient.complete

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

Secara sinkron memanggil masing-masing pendengar yang terdaftar untuk peristiwa bernama eventName, dalam urutan terdaftar, meneruskan argumen yang disediakan ke masing-masing.

Mengembalikan true jika peristiwa memiliki pendengar, false sebaliknya.

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

Parameter

eventName

string | symbol

args

any[]

Mengembalikan

boolean

Diwariskan Dari InternalClient.emit

eventNames()

Mengembalikan array yang mencantumkan peristiwa di mana pemancar telah mendaftarkan pendengar.

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

Mengembalikan

(string | symbol)[]

Diwariskan Dari InternalClient.eventNames

getMaxListeners()

Mengembalikan nilai pendengar maks saat ini untuk EventEmitter yang diatur oleh emitter.setMaxListeners(n) atau default ke events.defaultMaxListeners.

function getMaxListeners(): number

Mengembalikan

number

Diwariskan Dari InternalClient.getMaxListeners

getTwin()

function getTwin(): Promise<Twin>

Mengembalikan

Promise<Twin>

Diwarisi Dari InternalClient.getTwin

getTwin(Callback<Twin>)

function getTwin(done: Callback<Twin>)

Parameter

done

Callback<Twin>

Diwarisi Dari InternalClient.getTwin

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

Mengembalikan jumlah pendengar yang mendengarkan peristiwa bernama eventName. Jika listener disediakan, itu akan mengembalikan berapa kali pendengar ditemukan dalam daftar pendengar acara.

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

Parameter

eventName

string | symbol

Nama peristiwa yang sedang didengarkan

listener

(args: any[]) => void

Fungsi penanganan aktivitas

Mengembalikan

number

Diwarisi Dari InternalClient.listenerCount

listeners<E>(string | symbol)

Mengembalikan salinan array pendengar untuk peristiwa bernama 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[]

Parameter

eventName

string | symbol

Mengembalikan

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

Diwariskan Dari InternalClient.listeners

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

Alias untuk emitter.removeListener().

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

Parameter

eventName

string | symbol

listener

(args: any[]) => void

Mengembalikan

Diwariskan Dari InternalClient.off

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

Menambahkan fungsi listener ke akhir array pendengar untuk peristiwa bernama eventName. Tidak ada pemeriksaan yang dilakukan untuk melihat apakah listener telah ditambahkan. Beberapa panggilan yang melewati kombinasi eventName dan listener yang sama akan mengakibatkan listener ditambahkan, dan dipanggil, beberapa kali.

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

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat ditautkan.

Secara default, pendengar peristiwa dipanggil dalam urutan ditambahkan. Metode emitter.prependListener() dapat digunakan sebagai alternatif untuk menambahkan pendengar peristiwa ke awal array pendengar.

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

Parameter

eventName

string | symbol

Nama peristiwa.

listener

(args: any[]) => void

Fungsi panggilan balik

Mengembalikan

Diwariskan Dari InternalClient.on

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

Menambahkan fungsi satu kali untuk peristiwa bernama . Lain kali eventName dipicu, pendengar ini dihapus lalu dipanggil.

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

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat ditautkan.

Secara default, pendengar peristiwa dipanggil dalam urutan ditambahkan. Metode emitter.prependOnceListener() dapat digunakan sebagai alternatif untuk menambahkan pendengar peristiwa ke awal array pendengar.

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

Parameter

eventName

string | symbol

Nama peristiwa.

listener

(args: any[]) => void

Fungsi panggilan balik

Mengembalikan

Diwariskan Dari InternalClient.once

open()

function open(): Promise<Connected>

Mengembalikan

Promise<Connected>

Diwariskan Dari InternalClient.open

open(Callback<Connected>)

function open(openCallback: Callback<Connected>)

Parameter

openCallback

Callback<Connected>

Diwariskan Dari InternalClient.open

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

Menambahkan fungsi ke awal array pendengar untuk peristiwa bernama . Tidak ada pemeriksaan yang dilakukan untuk melihat apakah listener telah ditambahkan. Beberapa panggilan yang melewati kombinasi eventName dan listener yang sama akan mengakibatkan listener ditambahkan, dan dipanggil, beberapa kali.

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

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat ditautkan.

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

Parameter

eventName

string | symbol

Nama peristiwa.

listener

(args: any[]) => void

Fungsi panggilan balik

Mengembalikan

Diwariskan Dari InternalClient.prependListener

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

Menambahkan fungsi satu kali untuk peristiwa bernama ke awal array pendengar. Lain kali eventName dipicu, pendengar ini dihapus, lalu dipanggil.

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

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat ditautkan.

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

Parameter

eventName

string | symbol

Nama peristiwa.

listener

(args: any[]) => void

Fungsi panggilan balik

Mengembalikan

Diwariskan Dari InternalClient.prependOnceListener

rawListeners<E>(string | symbol)

Mengembalikan salinan array pendengar untuk peristiwa bernama eventName, termasuk pembungkus apa pun (seperti yang dibuat oleh .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[]

Parameter

eventName

string | symbol

Mengembalikan

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

Diwariskan Dari InternalClient.rawListeners

reject(Message)

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

Parameter

message
Message

Mengembalikan

Promise<MessageRejected>

Diwariskan Dari InternalClient.reject

reject(Message, Callback<MessageRejected>)

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

Parameter

message
Message
rejectCallback

Callback<MessageRejected>

Diwariskan Dari InternalClient.reject

removeAllListeners<E>(string | symbol)

Menghapus semua pendengar, atau pendengar dari eventNameyang ditentukan.

Adalah praktik buruk untuk menghapus listener yang ditambahkan di tempat lain dalam kode, terutama ketika instans EventEmitter dibuat oleh beberapa komponen atau modul lain (misalnya soket atau aliran file).

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat ditautkan.

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

Parameter

eventName

string | symbol

Mengembalikan

Diwariskan Dari InternalClient.removeAllListeners

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

Menghapus listener yang ditentukan dari array pendengar untuk peristiwa bernama eventName.

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

removeListener() akan menghapus, paling banyak, satu instans pendengar dari array pendengar. Jika ada pendengar tunggal yang telah ditambahkan beberapa kali ke array pendengar untuk eventNameyang ditentukan, maka removeListener() harus dipanggil beberapa kali untuk menghapus setiap instans.

Setelah peristiwa dipancarkan, semua pendengar yang melekat padanya pada saat pemancaran dipanggil secara berurutan. Ini menyiratkan bahwa panggilan apa pun removeListener()removeAllListeners() memancarkan dan sebelum pemroses terakhir menyelesaikan eksekusi tidak akan menghapusnya dari emit() sedang berlangsung. Peristiwa berikutnya berulah seperti yang diharapkan.

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

Karena pemroses dikelola menggunakan array internal, memanggil ini akan mengubah indeks posisi pemroses mana pun yang terdaftar setelah pemroses dihapus. Ini tidak akan berdampak pada urutan di mana pendengar dipanggil, tetapi itu berarti bahwa salinan array pendengar seperti yang dikembalikan oleh metode emitter.listeners() perlu dibuat ulang.

Ketika satu fungsi telah ditambahkan sebagai handler beberapa kali untuk satu peristiwa (seperti dalam contoh di bawah), removeListener() akan menghapus instans yang terakhir ditambahkan. Dalam contoh pendengar once('ping') dihapus:

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

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat ditautkan.

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

Parameter

eventName

string | symbol

listener

(args: any[]) => void

Mengembalikan

Diwariskan Dari InternalClient.removeListener

sendEvent(Message)

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

Parameter

message
Message

Mengembalikan

Promise<MessageEnqueued>

Diwarisi Dari InternalClient.sendEvent

sendEvent(Message, Callback<MessageEnqueued>)

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

Parameter

message
Message
sendEventCallback

Callback<MessageEnqueued>

Diwarisi Dari InternalClient.sendEvent

sendEventBatch(Message[])

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

Parameter

messages

Message[]

Mengembalikan

Promise<MessageEnqueued>

Diwarisi Dari InternalClient.sendEventBatch

sendEventBatch(Message[], Callback<MessageEnqueued>)

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

Parameter

messages

Message[]

sendEventBatchCallback

Callback<MessageEnqueued>

Diwarisi Dari InternalClient.sendEventBatch

setMaxListeners(number)

Secara default EventEmitterakan mencetak peringatan jika lebih dari 10 pendengar ditambahkan untuk peristiwa tertentu. Ini adalah default yang berguna yang membantu menemukan kebocoran memori. Metode emitter.setMaxListeners() memungkinkan batas untuk dimodifikasi untuk instans EventEmitter spesifik ini. Nilai dapat diatur ke Infinity (atau 0) untuk menunjukkan jumlah listener yang tidak terbatas.

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat ditautkan.

function setMaxListeners(n: number): Client

Parameter

n

number

Mengembalikan

Diwarisi Dari InternalClient.setMaxListeners

setRetryPolicy(RetryPolicy)

Mengatur kebijakan coba lagi yang digunakan oleh klien pada semua operasi. Defaultnya adalah ExponentialBackoffWithJitter.

function setRetryPolicy(policy: RetryPolicy)

Parameter

policy

RetryPolicy

{RetryPolicy} Kebijakan coba lagi yang harus digunakan untuk semua operasi di masa mendatang.

Diwariskan Dari InternalClient.setRetryPolicy

setTransportOptions(any)

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

Parameter

options

any

Mengembalikan

Promise<TransportConfigured>

Diwarisi Dari InternalClient.setTransportOptions

setTransportOptions(any, Callback<TransportConfigured>)

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

Parameter

options

any

done

Callback<TransportConfigured>

Diwarisi Dari InternalClient.setTransportOptions

updateSharedAccessSignature(string, Callback<SharedAccessSignatureUpdated>)

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

Parameter

sharedAccessSignature

string

updateSasCallback

Callback<SharedAccessSignatureUpdated>

Diwarisi Dari InternalClient.updateSharedAccessSignature

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

Metode ini Symbol.for('nodejs.rejection') dipanggil jika penolakan janji terjadi saat memancarkan peristiwa dan captureRejections diaktifkan pada emitor. Dimungkinkan untuk digunakan events.captureRejectionSymbol sebagai pengganti 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[])

Parameter

error

Error

event

string | symbol

args

any[]

Diwarisi dari InternalClient.__@captureRejectionSymbol@129