ModuleClient class

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

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

Extends

InternalClient

Properti yang Diwariskan

captureRejections

Nilai: boolean

Ubah opsi default captureRejections pada semua objek baru EventEmitter .

captureRejectionSymbol

Nilai: Symbol.for('nodejs.rejection')

Lihat cara menulis kustom rejection handler.

defaultMaxListeners

Secara default, maksimum 10 pendengar dapat didaftarkan untuk satu peristiwa apa pun. Batas ini dapat diubah untuk instans individual EventEmitter menggunakan emitter.setMaxListeners(n) metode . Untuk mengubah default untuk semuaEventEmitter instans, events.defaultMaxListeners properti dapat digunakan. Jika nilai ini bukan angka positif, akan RangeError dilemparkan.

Berhati-hatilah saat mengatur events.defaultMaxListeners karena perubahan memengaruhi semuaEventEmitter instans, termasuk yang dibuat sebelum perubahan dilakukan. Namun, panggilan emitter.setMaxListeners(n) masih lebih diutamakan daripada events.defaultMaxListeners.

Ini bukan batas yang sulit. Instans EventEmitter akan memungkinkan lebih banyak pendengar ditambahkan tetapi akan menghasilkan peringatan jejak ke stderr yang menunjukkan bahwa "kemungkinan kebocoran memori EventEmitter" telah terdeteksi. Untuk metode , dan emitter.getMaxListeners()emitter.setMaxListeners() tunggal EventEmitterapa pun dapat digunakan untuk sementara waktu menghindari peringatan ini:

import { EventEmitter } from 'node:events';
const emitter = new EventEmitter();
emitter.setMaxListeners(emitter.getMaxListeners() + 1);
emitter.once('event', () => {
  // do stuff
  emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
});

--trace-warnings Bendera baris perintah dapat digunakan untuk menampilkan jejak tumpukan untuk peringatan tersebut.

Peringatan yang dipancarkan dapat diperiksa dengan process.on('warning') dan akan memiliki properti , , typedan count tambahanemitter, yang mengacu pada instans pemancar peristiwa, nama peristiwa, dan jumlah pendengar yang terpasang, masing-masing. Propertinya name diatur ke 'MaxListenersExceededWarning'.

errorMonitor

Simbol ini akan digunakan untuk menginstal pendengar hanya untuk memantau 'error' peristiwa. Listener yang diinstal menggunakan simbol ini dipanggil sebelum listener reguler 'error' dipanggil.

Menginstal pendengar menggunakan simbol ini tidak mengubah perilaku setelah 'error' peristiwa dipancarkan. Oleh karena itu, prosesnya masih akan crash jika tidak ada listener reguler 'error' yang diinstal.

Metode

close()
close(Callback<Disconnected>)

Menutup koneksi transportasi dan menghancurkan sumber daya klien.

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

fromAuthenticationProvider(AuthenticationProvider, any)

Membuat klien modul 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.

fromEnvironment(any)
fromEnvironment(any, Callback<ModuleClient>)

Membuat klien modul IoT Hub dengan menggunakan informasi konfigurasi dari lingkungan.

Jika variabel lingkungan disebut EdgeHubConnectionString atau IotHubConnectionString ada, maka nilai tersebut digunakan dan perilaku identik dengan memanggil fromConnectionString melewatinya. Jika variabel lingkungan tersebut tidak ada, variabel berikut HARUS ditentukan:

- IOTEDGE_WORKLOADURI          URI for iotedged's workload API
- IOTEDGE_DEVICEID             Device identifier
- IOTEDGE_MODULEID             Module identifier
- IOTEDGE_MODULEGENERATIONID   Module generation identifier
- IOTEDGE_IOTHUBHOSTNAME       IoT Hub host name
- IOTEDGE_AUTHSCHEME           Authentication scheme to use; must be "sasToken"
fromSharedAccessSignature(string, any)

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

invokeMethod(string, MethodParams)
invokeMethod(string, MethodParams, Callback<MethodResult>)

Memanggil metode pada perangkat hilir atau pada modul lain pada perangkat IoTEdge yang sama. Harap dicatat bahwa fitur ini hanya berfungsi ketika modul dijalankan sebagai bagian dari perangkat IoTEdge.

invokeMethod(string, string, MethodParams)
invokeMethod(string, string, MethodParams, Callback<MethodResult>)
onMethod(string, DoubleValueCallback<DeviceMethodRequest, DeviceMethodResponse>)

Mendaftarkan panggilan balik untuk metode bernama methodName.

sendOutputEvent(string, Message)
sendOutputEvent(string, Message, Callback<MessageEnqueued>)

Mengirim peristiwa ke output modul yang diberikan

sendOutputEventBatch(string, Message[])
sendOutputEventBatch(string, Message[], Callback<MessageEnqueued>)

Mengirim array peristiwa ke output modul yang diberikan

setOptions(DeviceClientOptions)
setOptions(DeviceClientOptions, Callback<TransportConfigured>)

Meneruskan opsi ke ModuleClient objek yang dapat digunakan untuk mengonfigurasi transportasi.

Metode yang Diwarisi

abandon(Message)
abandon(Message, Callback<MessageAbandoned>)
addAbortListener(AbortSignal, (event: Event) => void)

Mendengarkan sekali ke abort acara pada yang disediakan signal.

Mendengarkan abort peristiwa pada sinyal yang dibatalkan tidak aman dan dapat menyebabkan kebocoran sumber daya karena pihak ketiga lain dengan sinyal dapat memanggil e.stopImmediatePropagation(). Sayangnya Node.js tidak dapat mengubah ini karena akan melanggar standar web. Selain itu, API asli memudahkan untuk lupa menghapus pendengar.

API ini memungkinkan penggunaan AbortSignalAPI yang Node.js dengan aman dengan memecahkan kedua masalah ini dengan mendengarkan peristiwa sehingga stopImmediatePropagation tidak mencegah pendengar berjalan.

Mengembalikan sekali pakai sehingga mungkin berhenti berlangganan dengan lebih mudah.

import { addAbortListener } from 'node:events';

function example(signal) {
  let disposable;
  try {
    signal.addEventListener('abort', (e) => e.stopImmediatePropagation());
    disposable = addAbortListener(signal, (e) => {
      // Do something when signal is aborted.
    });
  } finally {
    disposable?.[Symbol.dispose]();
  }
}
addListener<K>(string | symbol, (args: any[]) => void)

Alias untuk emitter.on(eventName, listener).

complete(Message)
complete(Message, Callback<MessageCompleted>)
emit<K>(string | symbol, AnyRest)

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 jika tidak.

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. Nilai dalam array adalah string atau Symbols.

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) ]
getEventListeners(EventEmitter<DefaultEventMap> | _DOMEventTarget, string | symbol)

Mengembalikan salinan array pendengar untuk peristiwa bernama eventName.

Untuk EventEmitterini berakibat persis sama dengan memanggil .listeners pada emiter.

Untuk EventTargetini adalah satu-satunya cara untuk mendapatkan pendengar peristiwa untuk target peristiwa. Ini berguna untuk tujuan penelusuran kesalahan dan diagnostik.

import { getEventListeners, EventEmitter } from 'node:events';

{
  const ee = new EventEmitter();
  const listener = () => console.log('Events are fun');
  ee.on('foo', listener);
  console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
}
{
  const et = new EventTarget();
  const listener = () => console.log('Events are fun');
  et.addEventListener('foo', listener);
  console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
}
getMaxListeners()

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

getMaxListeners(EventEmitter<DefaultEventMap> | _DOMEventTarget)

Mengembalikan jumlah maksimum pendengar yang saat ini ditetapkan.

Untuk EventEmitterini berakibat persis sama dengan memanggil .getMaxListeners pada emiter.

Untuk EventTargets ini adalah satu-satunya cara untuk mendapatkan pendengar peristiwa maksimum untuk target peristiwa. Jika jumlah penanganan aktivitas pada satu EventTarget melebihi set maksimum, EventTarget akan mencetak peringatan.

import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';

{
  const ee = new EventEmitter();
  console.log(getMaxListeners(ee)); // 10
  setMaxListeners(11, ee);
  console.log(getMaxListeners(ee)); // 11
}
{
  const et = new EventTarget();
  console.log(getMaxListeners(et)); // 10
  setMaxListeners(11, et);
  console.log(getMaxListeners(et)); // 11
}
getTwin()
getTwin(Callback<Twin>)
listenerCount(EventEmitter<DefaultEventMap>, string | symbol)

Metode kelas yang mengembalikan jumlah pendengar untuk yang diberikan eventName yang terdaftar pada yang diberikan emitter.

import { EventEmitter, listenerCount } from 'node:events';

const myEmitter = new EventEmitter();
myEmitter.on('event', () => {});
myEmitter.on('event', () => {});
console.log(listenerCount(myEmitter, 'event'));
// Prints: 2
listenerCount<K>(string | symbol, Function)

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

listeners<K>(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<K>(string | symbol, (args: any[]) => void)

Alias untuk emitter.removeListener().

on(EventEmitter<DefaultEventMap>, string, StaticEventEmitterOptions)
import { on, EventEmitter } from 'node:events';
import process from 'node:process';

const ee = new EventEmitter();

// Emit later on
process.nextTick(() => {
  ee.emit('foo', 'bar');
  ee.emit('foo', 42);
});

for await (const event of on(ee, 'foo')) {
  // The execution of this inner block is synchronous and it
  // processes one event at a time (even with await). Do not use
  // if concurrent execution is required.
  console.log(event); // prints ['bar'] [42]
}
// Unreachable here

Mengembalikan yang AsyncIterator mengulangi eventName peristiwa. Ini akan melemparkan jika memancarkan EventEmitter'error'. Ini menghapus semua pendengar saat keluar dari perulangan. yang value dikembalikan oleh setiap perulangan adalah array yang terdiri dari argumen peristiwa yang dipancarkan.

Dapat AbortSignal digunakan untuk membatalkan menunggu acara:

import { on, EventEmitter } from 'node:events';
import process from 'node:process';

const ac = new AbortController();

(async () => {
  const ee = new EventEmitter();

  // Emit later on
  process.nextTick(() => {
    ee.emit('foo', 'bar');
    ee.emit('foo', 42);
  });

  for await (const event of on(ee, 'foo', { signal: ac.signal })) {
    // The execution of this inner block is synchronous and it
    // processes one event at a time (even with await). Do not use
    // if concurrent execution is required.
    console.log(event); // prints ['bar'] [42]
  }
  // Unreachable here
})();

process.nextTick(() => ac.abort());
on<K>(string | symbol, (args: any[]) => void)

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

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

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat dirangkai.

Secara default, pendengar peristiwa dipanggil dalam urutan ditambahkan. Metode emitter.prependListener() ini 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(EventEmitter<DefaultEventMap>, string | symbol, StaticEventEmitterOptions)

Promise Membuat yang terpenuhi saat memancarkan EventEmitter peristiwa yang diberikan atau yang ditolak jika memancarkan EventEmitter'error' saat menunggu. Promise akan diselesaikan dengan array semua argumen yang dipancarkan ke peristiwa yang diberikan.

Metode ini sengaja umum dan bekerja dengan platform web antarmuka EventTarget, yang tidak memiliki semantik peristiwa khusus'error' dan tidak mendengarkan peristiwa.'error'

import { once, EventEmitter } from 'node:events';
import process from 'node:process';

const ee = new EventEmitter();

process.nextTick(() => {
  ee.emit('myevent', 42);
});

const [value] = await once(ee, 'myevent');
console.log(value);

const err = new Error('kaboom');
process.nextTick(() => {
  ee.emit('error', err);
});

try {
  await once(ee, 'myevent');
} catch (err) {
  console.error('error happened', err);
}

Penanganan 'error' khusus acara hanya digunakan ketika events.once() digunakan untuk menunggu peristiwa lain. Jika events.once() digunakan untuk menunggu 'error' peristiwa itu sendiri, maka itu diperlakukan sebagai jenis peristiwa lain tanpa penanganan khusus:

import { EventEmitter, once } from 'node:events';

const ee = new EventEmitter();

once(ee, 'error')
  .then(([err]) => console.log('ok', err.message))
  .catch((err) => console.error('error', err.message));

ee.emit('error', new Error('boom'));

// Prints: ok boom

Dapat AbortSignal digunakan untuk membatalkan menunggu acara:

import { EventEmitter, once } from 'node:events';

const ee = new EventEmitter();
const ac = new AbortController();

async function foo(emitter, event, signal) {
  try {
    await once(emitter, event, { signal });
    console.log('event emitted!');
  } catch (error) {
    if (error.name === 'AbortError') {
      console.error('Waiting for the event was canceled!');
    } else {
      console.error('There was an error', error.message);
    }
  }
}

foo(ee, 'foo', ac.signal);
ac.abort(); // Abort waiting for the event
ee.emit('foo'); // Prints: Waiting for the event was canceled!
once(_DOMEventTarget, string, StaticEventEmitterOptions)
once<K>(string | symbol, (args: any[]) => void)

Menambahkan fungsi satu kalilistener untuk peristiwa bernama eventName. 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 dirangkai.

Secara default, pendengar peristiwa dipanggil dalam urutan ditambahkan. Metode emitter.prependOnceListener() ini 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<K>(string | symbol, (args: any[]) => void)

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

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

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat dirangkai.

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

Menambahkan fungsi satu kalilistener untuk peristiwa bernama eventName 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 dirangkai.

rawListeners<K>(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(string | symbol)

Menghapus semua pendengar, atau pendengar yang ditentukan eventName.

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

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat dirangkai.

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

Menghapus yang ditentukan listener 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 yang ditentukan eventName, 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 setiap removeListener() atau removeAllListeners() panggilan setelah memancarkan dan sebelum pendengar terakhir menyelesaikan eksekusi tidak akan menghapusnya dariemit() 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 pendengar dikelola menggunakan array internal, memanggil ini akan mengubah indeks posisi pendengar apa pun yang terdaftar setelah pendengar dihapus. Ini tidak akan berdampak pada urutan di mana pendengar dipanggil, tetapi itu berarti bahwa salinan array pendengar seperti yang dikembalikan oleh emitter.listeners() metode 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 listener 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 dirangkai.

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

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

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat dirangkai.

setMaxListeners(number, (EventEmitter<DefaultEventMap> | _DOMEventTarget)[])
import { setMaxListeners, EventEmitter } from 'node:events';

const target = new EventTarget();
const emitter = new EventEmitter();

setMaxListeners(5, target, emitter);
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]<K>(Error, string | symbol, AnyRest)

Detail Properti yang Diwariskan

captureRejections

Nilai: boolean

Ubah opsi default captureRejections pada semua objek baru EventEmitter .

static captureRejections: boolean

Nilai Properti

boolean

Diwarisi Dari InternalClient.captureRejections

captureRejectionSymbol

Nilai: Symbol.for('nodejs.rejection')

Lihat cara menulis kustom rejection handler.

static captureRejectionSymbol: typeof captureRejectionSymbol

Nilai Properti

typeof captureRejectionSymbol

Diwarisi Dari InternalClient.captureRejectionSymbol

defaultMaxListeners

Secara default, maksimum 10 pendengar dapat didaftarkan untuk satu peristiwa apa pun. Batas ini dapat diubah untuk instans individual EventEmitter menggunakan emitter.setMaxListeners(n) metode . Untuk mengubah default untuk semuaEventEmitter instans, events.defaultMaxListeners properti dapat digunakan. Jika nilai ini bukan angka positif, akan RangeError dilemparkan.

Berhati-hatilah saat mengatur events.defaultMaxListeners karena perubahan memengaruhi semuaEventEmitter instans, termasuk yang dibuat sebelum perubahan dilakukan. Namun, panggilan emitter.setMaxListeners(n) masih lebih diutamakan daripada events.defaultMaxListeners.

Ini bukan batas yang sulit. Instans EventEmitter akan memungkinkan lebih banyak pendengar ditambahkan tetapi akan menghasilkan peringatan jejak ke stderr yang menunjukkan bahwa "kemungkinan kebocoran memori EventEmitter" telah terdeteksi. Untuk metode , dan emitter.getMaxListeners()emitter.setMaxListeners() tunggal EventEmitterapa pun dapat digunakan untuk sementara waktu menghindari peringatan ini:

import { EventEmitter } from 'node:events';
const emitter = new EventEmitter();
emitter.setMaxListeners(emitter.getMaxListeners() + 1);
emitter.once('event', () => {
  // do stuff
  emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
});

--trace-warnings Bendera baris perintah dapat digunakan untuk menampilkan jejak tumpukan untuk peringatan tersebut.

Peringatan yang dipancarkan dapat diperiksa dengan process.on('warning') dan akan memiliki properti , , typedan count tambahanemitter, yang mengacu pada instans pemancar peristiwa, nama peristiwa, dan jumlah pendengar yang terpasang, masing-masing. Propertinya name diatur ke 'MaxListenersExceededWarning'.

static defaultMaxListeners: number

Nilai Properti

number

Diwarisi Dari InternalClient.defaultMaxListeners

errorMonitor

Simbol ini akan digunakan untuk menginstal pendengar hanya untuk memantau 'error' peristiwa. Listener yang diinstal menggunakan simbol ini dipanggil sebelum listener reguler 'error' dipanggil.

Menginstal pendengar menggunakan simbol ini tidak mengubah perilaku setelah 'error' peristiwa dipancarkan. Oleh karena itu, prosesnya masih akan crash jika tidak ada listener reguler 'error' yang diinstal.

static errorMonitor: typeof errorMonitor

Nilai Properti

typeof errorMonitor

Diwarisi Dari InternalClient.errorMonitor

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 ModuleClient 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 modul IoT Hub dari metode autentikasi yang diberikan dan menggunakan jenis transportasi yang diberikan.

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

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): ModuleClient

Parameter

connStr

string

string koneksi yang merangkum izin "sambungkan perangkat" di hub IoT.

transportCtor

any

Konstruktor transportasi.

Mengembalikan

fromEnvironment(any)

static function fromEnvironment(transportCtor: any): Promise<ModuleClient>

Parameter

transportCtor

any

Mengembalikan

Promise<ModuleClient>

fromEnvironment(any, Callback<ModuleClient>)

Membuat klien modul IoT Hub dengan menggunakan informasi konfigurasi dari lingkungan.

Jika variabel lingkungan disebut EdgeHubConnectionString atau IotHubConnectionString ada, maka nilai tersebut digunakan dan perilaku identik dengan memanggil fromConnectionString melewatinya. Jika variabel lingkungan tersebut tidak ada, variabel berikut HARUS ditentukan:

- IOTEDGE_WORKLOADURI          URI for iotedged's workload API
- IOTEDGE_DEVICEID             Device identifier
- IOTEDGE_MODULEID             Module identifier
- IOTEDGE_MODULEGENERATIONID   Module generation identifier
- IOTEDGE_IOTHUBHOSTNAME       IoT Hub host name
- IOTEDGE_AUTHSCHEME           Authentication scheme to use; must be "sasToken"
static function fromEnvironment(transportCtor: any, callback?: Callback<ModuleClient>)

Parameter

transportCtor

any

Protokol transportasi yang digunakan untuk menyambungkan ke hub IoT.

callback

Callback<ModuleClient>

Panggilan balik opsional untuk dipanggil ketika ModuleClient telah dibangun atau jika terjadi kesalahan saat membuat klien.

fromSharedAccessSignature(string, any)

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

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

Parameter

sharedAccessSignature

string

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

transportCtor

any

Mengembalikan

invokeMethod(string, MethodParams)

function invokeMethod(deviceId: string, methodParams: MethodParams): Promise<MethodResult>

Parameter

deviceId

string

methodParams

MethodParams

Mengembalikan

Promise<MethodResult>

invokeMethod(string, MethodParams, Callback<MethodResult>)

Memanggil metode pada perangkat hilir atau pada modul lain pada perangkat IoTEdge yang sama. Harap dicatat bahwa fitur ini hanya berfungsi ketika modul dijalankan sebagai bagian dari perangkat IoTEdge.

function invokeMethod(deviceId: string, methodParams: MethodParams, callback?: Callback<MethodResult>)

Parameter

deviceId

string

pengidentifikasi perangkat target

methodParams

MethodParams

parameter panggilan metode langsung

callback

Callback<MethodResult>

panggilan balik opsional yang akan dipanggil baik dengan objek Kesalahan atau hasil panggilan metode.

invokeMethod(string, string, MethodParams)

function invokeMethod(deviceId: string, moduleId: string, methodParams: MethodParams): Promise<MethodResult>

Parameter

deviceId

string

moduleId

string

methodParams

MethodParams

Mengembalikan

Promise<MethodResult>

invokeMethod(string, string, MethodParams, Callback<MethodResult>)

function invokeMethod(deviceId: string, moduleId: string, methodParams: MethodParams, callback: Callback<MethodResult>)

Parameter

deviceId

string

moduleId

string

methodParams

MethodParams

callback

Callback<MethodResult>

onMethod(string, DoubleValueCallback<DeviceMethodRequest, DeviceMethodResponse>)

Mendaftarkan panggilan balik untuk metode bernama methodName.

function onMethod(methodName: string, callback: DoubleValueCallback<DeviceMethodRequest, DeviceMethodResponse>)

Parameter

methodName

string

Nama metode yang akan ditangani oleh panggilan balik

callback

DoubleValueCallback<DeviceMethodRequest, DeviceMethodResponse>

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

sendOutputEvent(string, Message)

function sendOutputEvent(outputName: string, message: Message): Promise<MessageEnqueued>

Parameter

outputName

string

message
Message

Mengembalikan

Promise<MessageEnqueued>

sendOutputEvent(string, Message, Callback<MessageEnqueued>)

Mengirim peristiwa ke output modul yang diberikan

function sendOutputEvent(outputName: string, message: Message, callback?: Callback<MessageEnqueued>)

Parameter

outputName

string

Nama output untuk mengirim peristiwa ke

message
Message

Pesan untuk dikirim ke output yang diberikan

callback

Callback<MessageEnqueued>

Fungsi opsional untuk memanggil ketika operasi telah diantrekan.

sendOutputEventBatch(string, Message[])

function sendOutputEventBatch(outputName: string, messages: Message[]): Promise<MessageEnqueued>

Parameter

outputName

string

messages

Message[]

Mengembalikan

Promise<MessageEnqueued>

sendOutputEventBatch(string, Message[], Callback<MessageEnqueued>)

Mengirim array peristiwa ke output modul yang diberikan

function sendOutputEventBatch(outputName: string, messages: Message[], callback?: Callback<MessageEnqueued>)

Parameter

outputName

string

Nama output untuk mengirim peristiwa ke

messages

Message[]

callback

Callback<MessageEnqueued>

Fungsi untuk memanggil ketika operasi telah diantrekan.

setOptions(DeviceClientOptions)

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

Parameter

Mengembalikan

Promise<TransportConfigured>

setOptions(DeviceClientOptions, Callback<TransportConfigured>)

Meneruskan opsi ke ModuleClient objek yang dapat digunakan untuk mengonfigurasi transportasi.

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

Parameter

done

Callback<TransportConfigured>

Panggilan balik opsional untuk memanggil setelah opsi diatur.

Detail Metode yang Diwarisi

abandon(Message)

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

Parameter

message
Message

Mengembalikan

Promise<MessageAbandoned>

Diwarisi Dari InternalClient.abandon

abandon(Message, Callback<MessageAbandoned>)

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

Parameter

message
Message
abandonCallback

Callback<MessageAbandoned>

Diwarisi Dari InternalClient.abandon

addAbortListener(AbortSignal, (event: Event) => void)

Mendengarkan sekali ke abort acara pada yang disediakan signal.

Mendengarkan abort peristiwa pada sinyal yang dibatalkan tidak aman dan dapat menyebabkan kebocoran sumber daya karena pihak ketiga lain dengan sinyal dapat memanggil e.stopImmediatePropagation(). Sayangnya Node.js tidak dapat mengubah ini karena akan melanggar standar web. Selain itu, API asli memudahkan untuk lupa menghapus pendengar.

API ini memungkinkan penggunaan AbortSignalAPI yang Node.js dengan aman dengan memecahkan kedua masalah ini dengan mendengarkan peristiwa sehingga stopImmediatePropagation tidak mencegah pendengar berjalan.

Mengembalikan sekali pakai sehingga mungkin berhenti berlangganan dengan lebih mudah.

import { addAbortListener } from 'node:events';

function example(signal) {
  let disposable;
  try {
    signal.addEventListener('abort', (e) => e.stopImmediatePropagation());
    disposable = addAbortListener(signal, (e) => {
      // Do something when signal is aborted.
    });
  } finally {
    disposable?.[Symbol.dispose]();
  }
}
static function addAbortListener(signal: AbortSignal, resource: (event: Event) => void): Disposable

Parameter

signal

AbortSignal

resource

(event: Event) => void

Mengembalikan

Disposable

Sekali pakai yang menghapus pendengar abort .

Diwarisi Dari InternalClient.addAbortListener

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

Alias untuk emitter.on(eventName, listener).

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

Parameter

eventName

string | symbol

listener

(args: any[]) => void

Mengembalikan

Diwarisi 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<K>(string | symbol, AnyRest)

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 jika tidak.

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<K>(eventName: string | symbol, args: AnyRest): boolean

Parameter

eventName

string | symbol

args

AnyRest

Mengembalikan

boolean

Diwarisi Dari InternalClient.emit

eventNames()

Mengembalikan array yang mencantumkan peristiwa di mana pemancar telah mendaftarkan pendengar. Nilai dalam array adalah string atau Symbols.

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

Diwarisi Dari InternalClient.eventNames

getEventListeners(EventEmitter<DefaultEventMap> | _DOMEventTarget, string | symbol)

Mengembalikan salinan array pendengar untuk peristiwa bernama eventName.

Untuk EventEmitterini berakibat persis sama dengan memanggil .listeners pada emiter.

Untuk EventTargetini adalah satu-satunya cara untuk mendapatkan pendengar peristiwa untuk target peristiwa. Ini berguna untuk tujuan penelusuran kesalahan dan diagnostik.

import { getEventListeners, EventEmitter } from 'node:events';

{
  const ee = new EventEmitter();
  const listener = () => console.log('Events are fun');
  ee.on('foo', listener);
  console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
}
{
  const et = new EventTarget();
  const listener = () => console.log('Events are fun');
  et.addEventListener('foo', listener);
  console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
}
static function getEventListeners(emitter: EventEmitter<DefaultEventMap> | _DOMEventTarget, name: string | symbol): Function[]

Parameter

emitter

EventEmitter<DefaultEventMap> | _DOMEventTarget

name

string | symbol

Mengembalikan

Function[]

Diwarisi Dari InternalClient.getEventListeners

getMaxListeners()

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

function getMaxListeners(): number

Mengembalikan

number

Diwarisi Dari InternalClient.getMaxListeners

getMaxListeners(EventEmitter<DefaultEventMap> | _DOMEventTarget)

Mengembalikan jumlah maksimum pendengar yang saat ini ditetapkan.

Untuk EventEmitterini berakibat persis sama dengan memanggil .getMaxListeners pada emiter.

Untuk EventTargets ini adalah satu-satunya cara untuk mendapatkan pendengar peristiwa maksimum untuk target peristiwa. Jika jumlah penanganan aktivitas pada satu EventTarget melebihi set maksimum, EventTarget akan mencetak peringatan.

import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';

{
  const ee = new EventEmitter();
  console.log(getMaxListeners(ee)); // 10
  setMaxListeners(11, ee);
  console.log(getMaxListeners(ee)); // 11
}
{
  const et = new EventTarget();
  console.log(getMaxListeners(et)); // 10
  setMaxListeners(11, et);
  console.log(getMaxListeners(et)); // 11
}
static function getMaxListeners(emitter: EventEmitter<DefaultEventMap> | _DOMEventTarget): number

Parameter

emitter

EventEmitter<DefaultEventMap> | _DOMEventTarget

Mengembalikan

number

Diwarisi 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(EventEmitter<DefaultEventMap>, string | symbol)

Peringatan

API ini sudah tidak digunakan lagi.

Since v3.2.0 - Use listenerCount instead.

Metode kelas yang mengembalikan jumlah pendengar untuk yang diberikan eventName yang terdaftar pada yang diberikan emitter.

import { EventEmitter, listenerCount } from 'node:events';

const myEmitter = new EventEmitter();
myEmitter.on('event', () => {});
myEmitter.on('event', () => {});
console.log(listenerCount(myEmitter, 'event'));
// Prints: 2
static function listenerCount(emitter: EventEmitter<DefaultEventMap>, eventName: string | symbol): number

Parameter

emitter

EventEmitter<DefaultEventMap>

Emiter yang akan dikueri

eventName

string | symbol

Nama peristiwa

Mengembalikan

number

Diwarisi Dari InternalClient.listenerCount

listenerCount<K>(string | symbol, Function)

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

function listenerCount<K>(eventName: string | symbol, listener?: Function): number

Parameter

eventName

string | symbol

Nama peristiwa yang didengarkan

listener

Function

Fungsi penanganan aktivitas

Mengembalikan

number

Diwarisi Dari InternalClient.listenerCount

listeners<K>(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<K>(eventName: string | symbol): Function[]

Parameter

eventName

string | symbol

Mengembalikan

Function[]

Diwarisi Dari InternalClient.listeners

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

Alias untuk emitter.removeListener().

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

Parameter

eventName

string | symbol

listener

(args: any[]) => void

Mengembalikan

Diwarisi Dari InternalClient.off

on(EventEmitter<DefaultEventMap>, string, StaticEventEmitterOptions)

import { on, EventEmitter } from 'node:events';
import process from 'node:process';

const ee = new EventEmitter();

// Emit later on
process.nextTick(() => {
  ee.emit('foo', 'bar');
  ee.emit('foo', 42);
});

for await (const event of on(ee, 'foo')) {
  // The execution of this inner block is synchronous and it
  // processes one event at a time (even with await). Do not use
  // if concurrent execution is required.
  console.log(event); // prints ['bar'] [42]
}
// Unreachable here

Mengembalikan yang AsyncIterator mengulangi eventName peristiwa. Ini akan melemparkan jika memancarkan EventEmitter'error'. Ini menghapus semua pendengar saat keluar dari perulangan. yang value dikembalikan oleh setiap perulangan adalah array yang terdiri dari argumen peristiwa yang dipancarkan.

Dapat AbortSignal digunakan untuk membatalkan menunggu acara:

import { on, EventEmitter } from 'node:events';
import process from 'node:process';

const ac = new AbortController();

(async () => {
  const ee = new EventEmitter();

  // Emit later on
  process.nextTick(() => {
    ee.emit('foo', 'bar');
    ee.emit('foo', 42);
  });

  for await (const event of on(ee, 'foo', { signal: ac.signal })) {
    // The execution of this inner block is synchronous and it
    // processes one event at a time (even with await). Do not use
    // if concurrent execution is required.
    console.log(event); // prints ['bar'] [42]
  }
  // Unreachable here
})();

process.nextTick(() => ac.abort());
static function on(emitter: EventEmitter<DefaultEventMap>, eventName: string, options?: StaticEventEmitterOptions): AsyncIterableIterator<any>

Parameter

emitter

EventEmitter<DefaultEventMap>

eventName

string

Nama peristiwa yang didengarkan

options

StaticEventEmitterOptions

Mengembalikan

AsyncIterableIterator<any>

Yang AsyncIterator mengulangi eventName peristiwa yang dipancarkan oleh emitter

Diwarisi Dari InternalClient.on

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

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

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

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat dirangkai.

Secara default, pendengar peristiwa dipanggil dalam urutan ditambahkan. Metode emitter.prependListener() ini 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<K>(eventName: string | symbol, listener: (args: any[]) => void): ModuleClient

Parameter

eventName

string | symbol

Nama peristiwa.

listener

(args: any[]) => void

Fungsi panggilan balik

Mengembalikan

Diwarisi Dari InternalClient.on

once(EventEmitter<DefaultEventMap>, string | symbol, StaticEventEmitterOptions)

Promise Membuat yang terpenuhi saat memancarkan EventEmitter peristiwa yang diberikan atau yang ditolak jika memancarkan EventEmitter'error' saat menunggu. Promise akan diselesaikan dengan array semua argumen yang dipancarkan ke peristiwa yang diberikan.

Metode ini sengaja umum dan bekerja dengan platform web antarmuka EventTarget, yang tidak memiliki semantik peristiwa khusus'error' dan tidak mendengarkan peristiwa.'error'

import { once, EventEmitter } from 'node:events';
import process from 'node:process';

const ee = new EventEmitter();

process.nextTick(() => {
  ee.emit('myevent', 42);
});

const [value] = await once(ee, 'myevent');
console.log(value);

const err = new Error('kaboom');
process.nextTick(() => {
  ee.emit('error', err);
});

try {
  await once(ee, 'myevent');
} catch (err) {
  console.error('error happened', err);
}

Penanganan 'error' khusus acara hanya digunakan ketika events.once() digunakan untuk menunggu peristiwa lain. Jika events.once() digunakan untuk menunggu 'error' peristiwa itu sendiri, maka itu diperlakukan sebagai jenis peristiwa lain tanpa penanganan khusus:

import { EventEmitter, once } from 'node:events';

const ee = new EventEmitter();

once(ee, 'error')
  .then(([err]) => console.log('ok', err.message))
  .catch((err) => console.error('error', err.message));

ee.emit('error', new Error('boom'));

// Prints: ok boom

Dapat AbortSignal digunakan untuk membatalkan menunggu acara:

import { EventEmitter, once } from 'node:events';

const ee = new EventEmitter();
const ac = new AbortController();

async function foo(emitter, event, signal) {
  try {
    await once(emitter, event, { signal });
    console.log('event emitted!');
  } catch (error) {
    if (error.name === 'AbortError') {
      console.error('Waiting for the event was canceled!');
    } else {
      console.error('There was an error', error.message);
    }
  }
}

foo(ee, 'foo', ac.signal);
ac.abort(); // Abort waiting for the event
ee.emit('foo'); // Prints: Waiting for the event was canceled!
static function once(emitter: EventEmitter<DefaultEventMap>, eventName: string | symbol, options?: StaticEventEmitterOptions): Promise<any[]>

Parameter

emitter

EventEmitter<DefaultEventMap>

eventName

string | symbol

options

StaticEventEmitterOptions

Mengembalikan

Promise<any[]>

Diwarisi Dari InternalClient.once

once(_DOMEventTarget, string, StaticEventEmitterOptions)

static function once(emitter: _DOMEventTarget, eventName: string, options?: StaticEventEmitterOptions): Promise<any[]>

Parameter

emitter

_DOMEventTarget

eventName

string

options

StaticEventEmitterOptions

Mengembalikan

Promise<any[]>

Diwarisi Dari InternalClient.once

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

Menambahkan fungsi satu kalilistener untuk peristiwa bernama eventName. 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 dirangkai.

Secara default, pendengar peristiwa dipanggil dalam urutan ditambahkan. Metode emitter.prependOnceListener() ini 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<K>(eventName: string | symbol, listener: (args: any[]) => void): ModuleClient

Parameter

eventName

string | symbol

Nama peristiwa.

listener

(args: any[]) => void

Fungsi panggilan balik

Mengembalikan

Diwarisi Dari InternalClient.once

open()

function open(): Promise<Connected>

Mengembalikan

Promise<Connected>

Diwarisi Dari InternalClient.open

open(Callback<Connected>)

function open(openCallback: Callback<Connected>)

Parameter

openCallback

Callback<Connected>

Diwarisi Dari InternalClient.open

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

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

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

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat dirangkai.

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

Parameter

eventName

string | symbol

Nama peristiwa.

listener

(args: any[]) => void

Fungsi panggilan balik

Mengembalikan

Diwarisi Dari InternalClient.prependListener

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

Menambahkan fungsi satu kalilistener untuk peristiwa bernama eventName 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 dirangkai.

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

Parameter

eventName

string | symbol

Nama peristiwa.

listener

(args: any[]) => void

Fungsi panggilan balik

Mengembalikan

Diwarisi Dari InternalClient.prependOnceListener

rawListeners<K>(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<K>(eventName: string | symbol): Function[]

Parameter

eventName

string | symbol

Mengembalikan

Function[]

Diwarisi Dari InternalClient.rawListeners

reject(Message)

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

Parameter

message
Message

Mengembalikan

Promise<MessageRejected>

Diwarisi Dari InternalClient.reject

reject(Message, Callback<MessageRejected>)

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

Parameter

message
Message
rejectCallback

Callback<MessageRejected>

Diwarisi Dari InternalClient.reject

removeAllListeners(string | symbol)

Menghapus semua pendengar, atau pendengar yang ditentukan eventName.

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

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat dirangkai.

function removeAllListeners(eventName?: string | symbol): ModuleClient

Parameter

eventName

string | symbol

Mengembalikan

Diwarisi Dari InternalClient.removeAllListeners

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

Menghapus yang ditentukan listener 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 yang ditentukan eventName, 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 setiap removeListener() atau removeAllListeners() panggilan setelah memancarkan dan sebelum pendengar terakhir menyelesaikan eksekusi tidak akan menghapusnya dariemit() 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 pendengar dikelola menggunakan array internal, memanggil ini akan mengubah indeks posisi pendengar apa pun yang terdaftar setelah pendengar dihapus. Ini tidak akan berdampak pada urutan di mana pendengar dipanggil, tetapi itu berarti bahwa salinan array pendengar seperti yang dikembalikan oleh emitter.listeners() metode 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 listener 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 dirangkai.

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

Parameter

eventName

string | symbol

listener

(args: any[]) => void

Mengembalikan

Diwarisi 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 EventEmitters akan mencetak peringatan jika lebih dari 10 pendengar ditambahkan untuk peristiwa tertentu. Ini adalah default yang berguna yang membantu menemukan kebocoran memori. Metode ini emitter.setMaxListeners() memungkinkan batas untuk dimodifikasi untuk instans tertentu EventEmitter ini. Nilai dapat diatur ke Infinity (atau 0) untuk menunjukkan jumlah listener yang tidak terbatas.

Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat dirangkai.

function setMaxListeners(n: number): ModuleClient

Parameter

n

number

Mengembalikan

Diwarisi Dari InternalClient.setMaxListeners

setMaxListeners(number, (EventEmitter<DefaultEventMap> | _DOMEventTarget)[])

import { setMaxListeners, EventEmitter } from 'node:events';

const target = new EventTarget();
const emitter = new EventEmitter();

setMaxListeners(5, target, emitter);
static function setMaxListeners(n?: number, eventTargets: (EventEmitter<DefaultEventMap> | _DOMEventTarget)[])

Parameter

n

number

Angka non-negatif. Jumlah maksimum pendengar per EventTarget peristiwa.

eventTargets

(EventEmitter<DefaultEventMap> | _DOMEventTarget)[]

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.

Diwarisi 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]<K>(Error, string | symbol, AnyRest)

function [captureRejectionSymbol]<K>(error: Error, event: string | symbol, args: AnyRest)

Parameter

error

Error

event

string | symbol

args

AnyRest

Diwarisi Dari InternalClient.__@captureRejectionSymbol@138