Bagikan melalui


SharedAccessSignatureAuthenticationProvider class

Menyediakan objek AuthenticationProvider yang dapat dibuat hanya dengan tanda tangan akses bersama dan kemudian digunakan oleh klien perangkat dan transportasi untuk mengautentikasi dengan instans hub Azure IoT.

Objek SharedAccessSignatureAuthenticationProvider tidak memperbarui token tanda tangan akses bersama secara otomatis, sehingga pengguna perlu memberi umpan token tanda tangan akses bersama yang tidak kedaluwarsa menggunakan metode updateSharedAccessSignature. Untuk setiap panggilan ke metode ini, SharedAccessSignatureAuthenticationProvider akan memancarkan peristiwa newTokenAvailable yang akan digunakan transportasi untuk mengautentikasi dengan instans hub Azure IoT.

Memperluas

EventEmitter

Properti

type

Properti yang Diwariskan

captureRejections

Nilai: boolean

Ubah opsi captureRejections default pada semua objek EventEmitter baru.

captureRejectionSymbol

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

Lihat cara menulis rejection handlerkustom .

defaultMaxListeners

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

Berhati-hatilah saat mengatur events.defaultMaxListeners karena perubahan memengaruhi semua instansEventEmitter, termasuk yang dibuat sebelum perubahan dilakukan. Namun, memanggil 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 setiap EventEmittertunggal , metode emitter.getMaxListeners() dan emitter.setMaxListeners() dapat digunakan untuk sementara 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));
});

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

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

errorMonitor

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

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

Metode

fromSharedAccessSignature(string)

Membuat SharedAccessSignatureAuthenticationProvider baru dari string koneksi

getDeviceCredentials()
getDeviceCredentials(Callback<TransportConfig>)

Metode ini digunakan oleh transportasi untuk mendapatkan kredensial perangkat terbaru dalam bentuk objek TransportConfig.

stop()

tidak melakukan apa pun dan mengembalikan - ini adalah bagian dari API penyedia autentikasi berbasis token tetapi tidak ada sumber daya untuk berhenti/gratis di sini.

updateSharedAccessSignature(string)

Memperbarui token tanda tangan akses bersama yang harus digunakan untuk mengautentikasi. Saat dipanggil, SharedAccessSignatureAuthenticationProvider akan memancarkan peristiwa newTokenAvailable yang kemudian dapat digunakan transportasi untuk mengautentikasi dengan instans hub Azure IoT.

Metode yang Diwarisi

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

Mendengarkan sekali untuk peristiwa abort pada signalyang disediakan.

Mendengarkan peristiwa abort pada sinyal batalkan 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 AbortSignaldengan aman di API Node.js dengan memecahkan dua masalah ini dengan mendengarkan peristiwa-sehingga stopImmediatePropagation tidak mencegah pendengar berjalan.

Mengembalikan sekali pakai sehingga dapat dilepas langganannya 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).

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 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. 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> | EventTarget, string | symbol)

Mengembalikan salinan array pendengar untuk peristiwa bernama eventName.

Untuk EventEmitter, perilaku ini sama persis dengan memanggil .listeners pada emiter.

Untuk EventTargetini adalah satu-satunya cara untuk mendapatkan pendengar acara untuk target peristiwa. Ini berguna untuk penelusuran kesalahan dan tujuan 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 pendengar maks saat ini untuk EventEmitter yang diatur oleh emitter.setMaxListeners(n) atau default ke defaultMaxListeners.

getMaxListeners(EventEmitter<DefaultEventMap> | EventTarget)

Mengembalikan jumlah maksimum pendengar yang saat ini ditetapkan.

Untuk EventEmitter, perilaku ini sama persis dengan memanggil .getMaxListeners pada emiter.

Untuk EventTargetini 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
}
listenerCount(EventEmitter<DefaultEventMap>, string | symbol)

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

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 | symbol, StaticEventEmitterIteratorOptions)
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 AsyncIterator yang mengulangi peristiwa eventName. Ini akan melemparkan jika EventEmitter memancarkan 'error'. Ini menghapus semua listener saat keluar dari perulangan. value yang dikembalikan oleh setiap iterasi adalah array yang terdiri dari argumen peristiwa yang dipancarkan.

AbortSignal dapat 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());

Gunakan opsi close untuk menentukan array nama peristiwa yang akan mengakhiri iterasi:

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);
  ee.emit('close');
});

for await (const event of on(ee, 'foo', { close: ['close'] })) {
  console.log(event); // prints ['bar'] [42]
}
// the loop will exit after 'close' is emitted
console.log('done'); // prints 'done'
on(EventTarget, string, StaticEventEmitterIteratorOptions)
on<K>(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(EventEmitter<DefaultEventMap>, string | symbol, StaticEventEmitterOptions)

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

Metode ini sengaja generik dan bekerja dengan platform web antarmuka EventTarget, yang tidak memiliki semantik peristiwa'error' khusus 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 khusus peristiwa 'error' hanya digunakan ketika events.once() digunakan untuk menunggu peristiwa lain. Jika events.once() digunakan untuk menunggu peristiwa 'error' 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

AbortSignal dapat 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(EventTarget, string, StaticEventEmitterOptions)
once<K>(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
prependListener<K>(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<K>(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<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');
removeAllListeners(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<K>(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 setiap panggilan removeListener() atau removeAllListeners()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 mana 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 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.

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.

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

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

setMaxListeners(5, target, emitter);
[captureRejectionSymbol]<K>(Error, string | symbol, AnyRest)

Detail Properti

type

type: AuthenticationType

Nilai Properti

AuthenticationType

Detail Properti yang Diwariskan

captureRejections

Nilai: boolean

Ubah opsi captureRejections default pada semua objek EventEmitter baru.

static captureRejections: boolean

Nilai Properti

boolean

Diwarisi Dari EventEmitter.captureRejections

captureRejectionSymbol

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

Lihat cara menulis rejection handlerkustom .

static captureRejectionSymbol: typeof captureRejectionSymbol

Nilai Properti

typeof captureRejectionSymbol

Diwarisi Dari EventEmitter.captureRejectionSymbol

defaultMaxListeners

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

Berhati-hatilah saat mengatur events.defaultMaxListeners karena perubahan memengaruhi semua instansEventEmitter, termasuk yang dibuat sebelum perubahan dilakukan. Namun, memanggil 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 setiap EventEmittertunggal , metode emitter.getMaxListeners() dan emitter.setMaxListeners() dapat digunakan untuk sementara 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));
});

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

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

static defaultMaxListeners: number

Nilai Properti

number

Diwarisi Dari EventEmitter.defaultMaxListeners

errorMonitor

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

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

static errorMonitor: typeof errorMonitor

Nilai Properti

typeof errorMonitor

Diwariskan Dari EventEmitter.errorMonitor

Detail Metode

fromSharedAccessSignature(string)

Membuat SharedAccessSignatureAuthenticationProvider baru dari string koneksi

static function fromSharedAccessSignature(sharedAccessSignature: string): SharedAccessSignatureAuthenticationProvider

Parameter

sharedAccessSignature

string

String tanda tangan akses bersama yang berisi parameter yang diperlukan untuk autentikasi dengan hub IoT.

Mengembalikan

getDeviceCredentials()

function getDeviceCredentials(): Promise<TransportConfig>

Mengembalikan

Promise<TransportConfig>

getDeviceCredentials(Callback<TransportConfig>)

Metode ini digunakan oleh transportasi untuk mendapatkan kredensial perangkat terbaru dalam bentuk objek TransportConfig.

function getDeviceCredentials(callback?: Callback<TransportConfig>)

Parameter

callback

Callback<TransportConfig>

fungsi opsional yang akan dipanggil dengan kesalahan atau serangkaian kredensial perangkat yang dapat digunakan untuk mengautentikasi dengan hub IoT.

stop()

tidak melakukan apa pun dan mengembalikan - ini adalah bagian dari API penyedia autentikasi berbasis token tetapi tidak ada sumber daya untuk berhenti/gratis di sini.

function stop()

updateSharedAccessSignature(string)

Memperbarui token tanda tangan akses bersama yang harus digunakan untuk mengautentikasi. Saat dipanggil, SharedAccessSignatureAuthenticationProvider akan memancarkan peristiwa newTokenAvailable yang kemudian dapat digunakan transportasi untuk mengautentikasi dengan instans hub Azure IoT.

function updateSharedAccessSignature(sharedAccessSignature: string)

Parameter

sharedAccessSignature

string

String tanda tangan akses bersama yang berisi parameter yang diperlukan untuk autentikasi dengan hub IoT.

Detail Metode yang Diwarisi

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

Mendengarkan sekali untuk peristiwa abort pada signalyang disediakan.

Mendengarkan peristiwa abort pada sinyal batalkan 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 AbortSignaldengan aman di API Node.js dengan memecahkan dua masalah ini dengan mendengarkan peristiwa-sehingga stopImmediatePropagation tidak mencegah pendengar berjalan.

Mengembalikan sekali pakai sehingga dapat dilepas langganannya 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.

Diwariskan Dari EventEmitter.addAbortListener

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

Alias untuk emitter.on(eventName, listener).

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

Parameter

eventName

string | symbol

listener

(args: any[]) => void

Mengembalikan

Diwariskan Dari EventEmitter.addListener

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

Parameter

eventName

string | symbol

args

AnyRest

Mengembalikan

boolean

Diwariskan Dari EventEmitter.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)[]

Diwariskan Dari EventEmitter.eventNames

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

Mengembalikan salinan array pendengar untuk peristiwa bernama eventName.

Untuk EventEmitter, perilaku ini sama persis dengan memanggil .listeners pada emiter.

Untuk EventTargetini adalah satu-satunya cara untuk mendapatkan pendengar acara untuk target peristiwa. Ini berguna untuk penelusuran kesalahan dan tujuan 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> | EventTarget, name: string | symbol): Function[]

Parameter

emitter

EventEmitter<DefaultEventMap> | EventTarget

name

string | symbol

Mengembalikan

Function[]

Diwariskan Dari EventEmitter.getEventListeners

getMaxListeners()

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

function getMaxListeners(): number

Mengembalikan

number

Diwariskan Dari EventEmitter.getMaxListeners

getMaxListeners(EventEmitter<DefaultEventMap> | EventTarget)

Mengembalikan jumlah maksimum pendengar yang saat ini ditetapkan.

Untuk EventEmitter, perilaku ini sama persis dengan memanggil .getMaxListeners pada emiter.

Untuk EventTargetini 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> | EventTarget): number

Parameter

emitter

EventEmitter<DefaultEventMap> | EventTarget

Mengembalikan

number

Diwariskan Dari EventEmitter.getMaxListeners

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 eventName yang diberikan yang terdaftar pada emitteryang diberikan .

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>

Pemancar ke kueri

eventName

string | symbol

Nama peristiwa

Mengembalikan

number

Diwarisi Dari EventEmitter.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 sedang didengarkan

listener

Function

Fungsi penanganan aktivitas

Mengembalikan

number

Diwarisi Dari EventEmitter.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[]

Diwariskan Dari EventEmitter.listeners

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

Alias untuk emitter.removeListener().

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

Parameter

eventName

string | symbol

listener

(args: any[]) => void

Mengembalikan

Diwariskan Dari EventEmitter.off

on(EventEmitter<DefaultEventMap>, string | symbol, StaticEventEmitterIteratorOptions)

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 AsyncIterator yang mengulangi peristiwa eventName. Ini akan melemparkan jika EventEmitter memancarkan 'error'. Ini menghapus semua listener saat keluar dari perulangan. value yang dikembalikan oleh setiap iterasi adalah array yang terdiri dari argumen peristiwa yang dipancarkan.

AbortSignal dapat 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());

Gunakan opsi close untuk menentukan array nama peristiwa yang akan mengakhiri iterasi:

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);
  ee.emit('close');
});

for await (const event of on(ee, 'foo', { close: ['close'] })) {
  console.log(event); // prints ['bar'] [42]
}
// the loop will exit after 'close' is emitted
console.log('done'); // prints 'done'
static function on(emitter: EventEmitter<DefaultEventMap>, eventName: string | symbol, options?: StaticEventEmitterIteratorOptions): AsyncIterableIterator<any[]>

Parameter

emitter

EventEmitter<DefaultEventMap>

eventName

string | symbol

options

StaticEventEmitterIteratorOptions

Mengembalikan

AsyncIterableIterator<any[]>

AsyncIterator yang mengulangi peristiwa eventName yang dipancarkan oleh emitter

Diwarisi Dari EventEmitter.on

on(EventTarget, string, StaticEventEmitterIteratorOptions)

static function on(emitter: EventTarget, eventName: string, options?: StaticEventEmitterIteratorOptions): AsyncIterableIterator<any[]>

Parameter

emitter

EventTarget

eventName

string

options

StaticEventEmitterIteratorOptions

Mengembalikan

AsyncIterableIterator<any[]>

Diwarisi Dari EventEmitter.on

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

Parameter

eventName

string | symbol

Nama peristiwa.

listener

(args: any[]) => void

Fungsi panggilan balik

Mengembalikan

Diwarisi Dari EventEmitter.on

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

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

Metode ini sengaja generik dan bekerja dengan platform web antarmuka EventTarget, yang tidak memiliki semantik peristiwa'error' khusus 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 khusus peristiwa 'error' hanya digunakan ketika events.once() digunakan untuk menunggu peristiwa lain. Jika events.once() digunakan untuk menunggu peristiwa 'error' 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

AbortSignal dapat 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 EventEmitter.once

once(EventTarget, string, StaticEventEmitterOptions)

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

Parameter

emitter

EventTarget

eventName

string

options

StaticEventEmitterOptions

Mengembalikan

Promise<any[]>

Diwarisi Dari EventEmitter.once

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

Parameter

eventName

string | symbol

Nama peristiwa.

listener

(args: any[]) => void

Fungsi panggilan balik

Mengembalikan

Diwarisi Dari EventEmitter.once

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

Parameter

eventName

string | symbol

Nama peristiwa.

listener

(args: any[]) => void

Fungsi panggilan balik

Mengembalikan

Diwariskan Dari EventEmitter.prependListener

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

Parameter

eventName

string | symbol

Nama peristiwa.

listener

(args: any[]) => void

Fungsi panggilan balik

Mengembalikan

Diwarisi Dari EventEmitter.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[]

Diwariskan Dari EventEmitter.rawListeners

removeAllListeners(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(eventName?: string | symbol): SharedAccessSignatureAuthenticationProvider

Parameter

eventName

string | symbol

Mengembalikan

Diwariskan Dari EventEmitter.removeAllListeners

removeListener<K>(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 setiap panggilan removeListener() atau removeAllListeners()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 mana 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 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<K>(eventName: string | symbol, listener: (args: any[]) => void): SharedAccessSignatureAuthenticationProvider

Parameter

eventName

string | symbol

listener

(args: any[]) => void

Mengembalikan

Diwariskan Dari EventEmitter.removeListener

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

Parameter

n

number

Mengembalikan

Diwarisi Dari EventEmitter.setMaxListeners

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

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

Parameter

n

number

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

eventTargets

(EventEmitter<DefaultEventMap> | EventTarget)[]

Diwarisi Dari EventEmitter.setMaxListeners

[captureRejectionSymbol]<K>(Error, string | symbol, AnyRest)

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

Parameter

error

Error

event

string | symbol

args

AnyRest

Diwariskan Dari EventEmitter.__@captureRejectionSymbol@142