Readable interface
- Memperluas
-
Stream
Properti
| closed | Adalah |
| destroyed | Adalah |
| errored | Mengembalikan kesalahan jika aliran telah dihancurkan dengan kesalahan. |
| readable | Apakah |
| readable |
Mengembalikan apakah aliran dihancurkan atau error sebelum dipancarkan |
| readable |
Mengembalikan apakah |
| readable |
Pengambil untuk properti |
| readable |
Menjadi |
| readable |
Properti ini mencerminkan status |
| readable |
Mengembalikan nilai lulus |
| readable |
Properti ini berisi jumlah byte (atau objek) dalam antrean yang siap dibaca. Nilai tersebut memberikan data introspeksi mengenai status |
| readable |
Pengambil untuk properti |
Metode
| add |
|
| add |
Alias untuk |
| compose(Writable |
Metode ini juga memungkinkan untuk Lihat |
| destroy(Error) | Hancurkan alirannya. Secara opsional memancarkan peristiwa Setelah Pelaksana tidak boleh mengganti metode ini, melainkan menerapkan |
| drop(number, Abortable) | Metode ini mengembalikan aliran baru dengan potongan batas pertama yang dijatuhkan dari awal. |
| emit(string | symbol, any[]) | |
| emit<E>(E, Readable |
Secara sinkron memanggil masing-masing pendengar yang terdaftar untuk peristiwa bernama Mengembalikan
|
| every((data: any, options?: Abortable) => boolean | Promise<boolean>, Pick<Readable |
Metode ini mirip dengan |
| filter((data: any, options?: Abortable) => boolean | Promise<boolean>, Readable |
Metode ini memungkinkan pemfilteran aliran. Untuk setiap potongan dalam aliran, fungsi fn akan dipanggil dan jika mengembalikan nilai yang benar, potongan akan diteruskan ke aliran hasil.
Jika fungsi fn mengembalikan promise - promise tersebut akan ed |
| find((data: any, options?: Abortable) => boolean | Promise<boolean>, Pick<Readable |
|
| find<T>((data: any, options?: Abortable) => data is T, Pick<Readable |
Metode ini mirip dengan |
| flat |
Metode ini mengembalikan aliran baru dengan menerapkan callback yang diberikan ke setiap bagian aliran dan kemudian meratakan hasilnya. Dimungkinkan untuk mengembalikan aliran atau iterable atau asinkron lain yang dapat diulang dari fn dan aliran hasil akan digabungkan (diratakan) ke dalam aliran yang dikembalikan. |
| for |
Metode ini memungkinkan iterasi aliran. Untuk setiap potongan dalam aliran, fungsi fn akan dipanggil.
Jika fungsi fn mengembalikan promise - promise tersebut akan ed Metode ini berbeda dari Metode ini berbeda dengan mendengarkan |
| is |
Metode ini
|
| iterator(Readable |
Iterator yang dibuat dengan metode ini memberi pengguna opsi untuk membatalkan penghancuran aliran jika |
| listener |
|
| listener |
Mengembalikan jumlah pendengar yang mendengarkan peristiwa bernama |
| listeners(string | symbol) | |
| listeners<E>(E) | Mengembalikan salinan array pendengar untuk peristiwa bernama
|
| map((data: any, options?: Abortable) => any, Readable |
Metode ini memungkinkan pemetaan melalui aliran. Fungsi fn akan dipanggil untuk setiap potongan dalam aliran.
Jika fungsi fn mengembalikan promise - promise tersebut akan ed |
| off(string | symbol, (args: any[]) => void) | |
| off<E>(E, (args: Readable |
Alias untuk |
| on(string | symbol, (args: any[]) => void) | |
| on<E>(E, (args: Readable |
Menambahkan fungsi
Mengembalikan referensi ke Secara default, pendengar peristiwa dipanggil dalam urutan ditambahkan. Metode
|
| once(string | symbol, (args: any[]) => void) | |
| once<E>(E, (args: Readable |
Menambahkan fungsi
Mengembalikan referensi ke Secara default, pendengar peristiwa dipanggil dalam urutan ditambahkan. Metode
|
| pause() | Metode ini
Metode ini |
| prepend |
|
| prepend |
Menambahkan fungsi
Mengembalikan referensi ke |
| prepend |
|
| prepend |
Menambahkan fungsi
Mengembalikan referensi ke |
| push(any, Buffer |
|
| raw |
|
| raw |
Mengembalikan salinan array pendengar untuk peristiwa bernama
|
| read(number) | Metode ini Argumen opsional Jika Argumen Metode ini
Setiap panggilan ke Oleh karena itu, untuk membaca seluruh konten file dari
Aliran Jika metode mengembalikan
Panggilan yang dibaca setelah |
| reduce<T>((previous: any, data: any, options?: Abortable) => T) | Metode ini memanggil fn pada setiap potongan aliran secara berurutan, meneruskannya hasil dari perhitungan pada elemen sebelumnya. Ini mengembalikan janji untuk nilai akhir pengurangan. Jika tidak ada nilai awal yang disediakan, potongan pertama aliran digunakan sebagai nilai awal.
Jika aliran kosong, janji ditolak dengan properti dengan Fungsi peredam mengulangi elemen aliran demi elemen yang berarti tidak ada parameter konkurensi atau paralelisme. Untuk melakukan pengurangan secara bersamaan, Anda dapat mengekstrak fungsi asinkron ke |
| reduce<T>((previous: T, data: any, options?: Abortable) => T, T, Abortable) | |
| remove |
|
| remove |
Menghapus semua pendengar, atau pendengar dari Adalah praktik buruk untuk menghapus listener yang ditambahkan di tempat lain dalam kode, terutama ketika instans Mengembalikan referensi ke |
| remove |
|
| remove |
Menghapus
Setelah peristiwa dipancarkan, semua pendengar yang melekat padanya pada saat pemancaran dipanggil secara berurutan. Ini menyiratkan bahwa panggilan apa pun
Karena pemroses dikelola menggunakan array internal, memanggil ini akan mengubah indeks posisi pemroses mana pun yang terdaftar setelah pemroses dihapus. Ini tidak akan berdampak pada urutan di mana pendengar dipanggil, tetapi itu berarti bahwa salinan array pendengar seperti yang dikembalikan oleh metode Ketika satu fungsi telah ditambahkan sebagai handler beberapa kali untuk satu peristiwa (seperti dalam contoh di bawah),
Mengembalikan referensi ke |
| resume() | Metode ini Metode ini
Metode ini |
| set |
Metode ini Secara default, tidak ada pengkodean yang ditetapkan dan data aliran akan dikembalikan sebagai Aliran
|
| some((data: any, options?: Abortable) => boolean | Promise<boolean>, Pick<Readable |
Metode ini mirip dengan |
| take(number, Abortable) | Metode ini mengembalikan aliran baru dengan potongan batas pertama. |
| to |
Metode ini memungkinkan dengan mudah mendapatkan konten aliran. Karena metode ini membaca seluruh aliran ke dalam memori, metode ini meniadakan manfaat aliran. Ini ditujukan untuk interoperabilitas dan kenyamanan, bukan sebagai cara utama untuk mengonsumsi streaming. |
| unpipe(Writable |
Metode ini Jika tidak Jika ditentukan
|
| unshift(any, Buffer |
Melewati Metode ini Metode ini Pengembang yang sering menggunakan
Tidak seperti push, |
| wrap(Readable |
Sebelum Node.js 0.10, streaming tidak mengimplementasikan seluruh Saat menggunakan pustaka Node.js lama yang memancarkan Jarang perlu digunakan
|
| [async |
Menghubungi |
| [async |
|
| [to |
Saat Ini menyediakan iterator asinkron batch yang menguras buffer internal aliran ke dalam Iterator yang dikembalikan ditandai sebagai sumber yang divalidasi, sehingga
Tanpa |
Metode yang Diwarisi
| event |
Mengembalikan array yang mencantumkan peristiwa di mana pemancar telah mendaftarkan pendengar.
|
| get |
Mengembalikan nilai pendengar maks saat ini untuk |
| pipe<T>(T, Pipe |
|
| set |
Secara default Mengembalikan referensi ke |
| [capture |
Metode ini
|
Detail Properti
closed
Adalah true setelah 'close' telah dipancarkan.
closed: boolean
Nilai Properti
boolean
destroyed
Adalah true setelah readable.destroy() telah dipanggil.
destroyed: boolean
Nilai Properti
boolean
errored
Mengembalikan kesalahan jika aliran telah dihancurkan dengan kesalahan.
errored: Error | null
Nilai Properti
Error | null
readable
Apakah true jika aman untuk memanggil baca, yang berarti aliran belum dihancurkan atau dipancarkan 'error' atau 'end'.
readable: boolean
Nilai Properti
boolean
readableAborted
Mengembalikan apakah aliran dihancurkan atau error sebelum dipancarkan 'end'.
readableAborted: boolean
Nilai Properti
boolean
readableDidRead
Mengembalikan apakah 'data' telah dipancarkan.
readableDidRead: boolean
Nilai Properti
boolean
readableEncoding
Pengambil untuk properti encoding aliran tertentu Readable . Properti encoding dapat diatur menggunakan metode setEncoding .
readableEncoding: BufferEncoding | null
Nilai Properti
BufferEncoding | null
readableEnded
readableFlowing
Properti ini mencerminkan status Readable aliran saat ini seperti yang dijelaskan di bagian Tiga status .
readableFlowing: boolean | null
Nilai Properti
boolean | null
readableHighWaterMark
Mengembalikan nilai lulus highWaterMark saat membuat ini Readable.
readableHighWaterMark: number
Nilai Properti
number
readableLength
Properti ini berisi jumlah byte (atau objek) dalam antrean yang siap dibaca. Nilai tersebut memberikan data introspeksi mengenai status highWaterMark.
readableLength: number
Nilai Properti
number
readableObjectMode
Pengambil untuk properti objectMode aliran tertentu Readable .
readableObjectMode: boolean
Nilai Properti
boolean
Detail Metode
addListener(string | symbol, (args: any[]) => void)
function addListener(eventName: string | symbol, listener: (args: any[]) => void): this
Parameter
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Mengembalikan
this
addListener<E>(E, (args: ReadableEventMap[E]) => void)
Alias untuk emitter.on(eventName, listener).
function addListener<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): this
Parameter
- eventName
-
E
- listener
-
(args: ReadableEventMap[E]) => void
Mengembalikan
this
compose(WritableStream | WritableStream | TransformStream | (source: any) => void, Abortable)
import { Readable } from 'node:stream';
async function* splitToWords(source) {
for await (const chunk of source) {
const words = String(chunk).split(' ');
for (const word of words) {
yield word;
}
}
}
const wordsStream = Readable.from(['text passed through', 'composed stream']).compose(splitToWords);
const words = await wordsStream.toArray();
console.log(words); // prints ['text', 'passed', 'through', 'composed', 'stream']
readable.compose(s) setara dengan stream.compose(readable, s).
Metode ini juga memungkinkan untuk AbortSignal disediakan, yang akan menghancurkan aliran yang disusun saat dibatalkan.
Lihat stream.compose(...streams) untuk informasi lebih lanjut.
function compose(stream: WritableStream | WritableStream | TransformStream | (source: any) => void, options?: Abortable): Duplex
Parameter
- stream
-
WritableStream | WritableStream | TransformStream | (source: any) => void
- options
-
Abortable
Mengembalikan
Duplex
aliran yang disusun dengan aliran stream.
destroy(Error)
Hancurkan alirannya. Secara opsional memancarkan peristiwa 'error' , dan memancarkan 'close' peristiwa (kecuali diatur emitClose ke false). Setelah panggilan ini, aliran yang dapat dibaca akan melepaskan sumber daya internal apa pun dan panggilan berikutnya akan push() diabaikan.
Setelah destroy() dipanggil, panggilan lebih lanjut akan menjadi no-op dan tidak ada kesalahan lebih lanjut kecuali dari _destroy() yang dapat dipancarkan sebagai 'error'.
Pelaksana tidak boleh mengganti metode ini, melainkan menerapkan readable._destroy().
function destroy(error?: Error): this
Parameter
- error
-
Error
Kesalahan yang akan diteruskan sebagai payload dalam 'error' peristiwa
Mengembalikan
this
drop(number, Abortable)
Metode ini mengembalikan aliran baru dengan potongan batas pertama yang dijatuhkan dari awal.
function drop(limit: number, options?: Abortable): Readable
Parameter
- limit
-
number
jumlah potongan yang akan dihilangkan dari yang dapat dibaca.
- options
-
Abortable
Mengembalikan
aliran dengan potongan batas yang dijatuhkan sejak awal.
emit(string | symbol, any[])
function emit(eventName: string | symbol, args: any[]): boolean
Parameter
- eventName
-
string | symbol
- args
-
any[]
Mengembalikan
boolean
emit<E>(E, ReadableEventMap[E])
Secara sinkron memanggil masing-masing pendengar yang terdaftar untuk peristiwa bernama eventName, dalam urutan terdaftar, meneruskan argumen yang disediakan ke masing-masing.
Mengembalikan true jika peristiwa memiliki pendengar, false sebaliknya.
import { EventEmitter } from 'node:events';
const myEmitter = new EventEmitter();
// First listener
myEmitter.on('event', function firstListener() {
console.log('Helloooo! first listener');
});
// Second listener
myEmitter.on('event', function secondListener(arg1, arg2) {
console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
});
// Third listener
myEmitter.on('event', function thirdListener(...args) {
const parameters = args.join(', ');
console.log(`event with parameters ${parameters} in third listener`);
});
console.log(myEmitter.listeners('event'));
myEmitter.emit('event', 1, 2, 3, 4, 5);
// Prints:
// [
// [Function: firstListener],
// [Function: secondListener],
// [Function: thirdListener]
// ]
// Helloooo! first listener
// event with parameters 1, 2 in second listener
// event with parameters 1, 2, 3, 4, 5 in third listener
function emit<E>(eventName: E, args: ReadableEventMap[E]): boolean
Parameter
- eventName
-
E
- args
-
ReadableEventMap[E]
Mengembalikan
boolean
every((data: any, options?: Abortable) => boolean | Promise<boolean>, Pick<ReadableOperatorOptions, "concurrency" | "signal">)
Metode ini mirip dengan Array.prototype.every dan memanggil fn pada setiap potongan dalam aliran untuk memeriksa apakah semua nilai pengembalian yang ditunggu adalah nilai kebenaran untuk fn. Setelah panggilan fn pada awaitnilai pengembalian chunk ed palsu, aliran dihancurkan dan janji dipenuhi dengan false.
Jika semua panggilan fn pada potongan mengembalikan nilai yang benar, janji dipenuhi dengan true.
function every(fn: (data: any, options?: Abortable) => boolean | Promise<boolean>, options?: Pick<ReadableOperatorOptions, "concurrency" | "signal">): Promise<boolean>
Parameter
- fn
-
(data: any, options?: Abortable) => boolean | Promise<boolean>
fungsi untuk memanggil setiap bagian aliran. Asinkron atau tidak.
- options
-
Pick<ReadableOperatorOptions, "concurrency" | "signal">
Mengembalikan
Promise<boolean>
Janji yang mengevaluasi jika trueFN mengembalikan nilai yang benar untuk setiap potongan.
filter((data: any, options?: Abortable) => boolean | Promise<boolean>, ReadableOperatorOptions)
Metode ini memungkinkan pemfilteran aliran. Untuk setiap potongan dalam aliran, fungsi fn akan dipanggil dan jika mengembalikan nilai yang benar, potongan akan diteruskan ke aliran hasil.
Jika fungsi fn mengembalikan promise - promise tersebut akan ed await.
function filter(fn: (data: any, options?: Abortable) => boolean | Promise<boolean>, options?: ReadableOperatorOptions): Readable
Parameter
- fn
-
(data: any, options?: Abortable) => boolean | Promise<boolean>
fungsi untuk memfilter potongan dari aliran. Asinkron atau tidak.
- options
-
ReadableOperatorOptions
Mengembalikan
aliran yang disaring dengan predikat fn.
find((data: any, options?: Abortable) => boolean | Promise<boolean>, Pick<ReadableOperatorOptions, "concurrency" | "signal">)
function find(fn: (data: any, options?: Abortable) => boolean | Promise<boolean>, options?: Pick<ReadableOperatorOptions, "concurrency" | "signal">): Promise<any>
Parameter
- fn
-
(data: any, options?: Abortable) => boolean | Promise<boolean>
- options
-
Pick<ReadableOperatorOptions, "concurrency" | "signal">
Mengembalikan
Promise<any>
find<T>((data: any, options?: Abortable) => data is T, Pick<ReadableOperatorOptions, "concurrency" | "signal">)
Metode ini mirip dengan Array.prototype.find dan memanggil fn pada setiap potongan dalam aliran untuk menemukan potongan dengan nilai kebenaran untuk fn. Setelah nilai pengembalian panggilan fn yang ditunggu-tunggu adalah kebenaran, aliran dihancurkan dan janji dipenuhi dengan nilai yang fn mengembalikan nilai yang benar.
Jika semua panggilan fn pada potongan mengembalikan nilai palsu, janji dipenuhi dengan undefined.
function find<T>(fn: (data: any, options?: Abortable) => data is T, options?: Pick<ReadableOperatorOptions, "concurrency" | "signal">): Promise<T | undefined>
Parameter
- fn
-
(data: any, options?: Abortable) => data is T
fungsi untuk memanggil setiap bagian aliran. Asinkron atau tidak.
- options
-
Pick<ReadableOperatorOptions, "concurrency" | "signal">
Mengembalikan
Promise<T | undefined>
Janji yang mengevaluasi ke potongan pertama yang dievaluasi FN dengan nilai kebenaran, atau undefined jika tidak ada elemen yang ditemukan.
flatMap((data: any, options?: Abortable) => any, Pick<ReadableOperatorOptions, "concurrency" | "signal">)
Metode ini mengembalikan aliran baru dengan menerapkan callback yang diberikan ke setiap bagian aliran dan kemudian meratakan hasilnya.
Dimungkinkan untuk mengembalikan aliran atau iterable atau asinkron lain yang dapat diulang dari fn dan aliran hasil akan digabungkan (diratakan) ke dalam aliran yang dikembalikan.
function flatMap(fn: (data: any, options?: Abortable) => any, options?: Pick<ReadableOperatorOptions, "concurrency" | "signal">): Readable
Parameter
- fn
-
(data: any, options?: Abortable) => any
Fungsi untuk memetakan setiap potongan dalam aliran. Mungkin asinkron. Mungkin aliran atau generator.
- options
-
Pick<ReadableOperatorOptions, "concurrency" | "signal">
Mengembalikan
aliran yang dipetakan datar dengan fungsi fn.
forEach((data: any, options?: Abortable) => void | Promise<void>, Pick<ReadableOperatorOptions, "concurrency" | "signal">)
Metode ini memungkinkan iterasi aliran. Untuk setiap potongan dalam aliran, fungsi fn akan dipanggil.
Jika fungsi fn mengembalikan promise - promise tersebut akan ed await.
Metode ini berbeda dari for await...of loop karena dapat secara opsional memproses potongan secara bersamaan.
Selain itu, iterasi forEach hanya dapat dihentikan dengan melewati signal opsi dan membatalkan AbortController terkait sementara for await...of dapat dihentikan dengan break atau return.
Dalam kedua kasus tersebut, aliran akan dihancurkan.
Metode ini berbeda dengan mendengarkan 'data' peristiwa karena menggunakan readable peristiwa dalam mesin yang mendasarinya dan dapat membatasi jumlah panggilan fn bersamaan.
function forEach(fn: (data: any, options?: Abortable) => void | Promise<void>, options?: Pick<ReadableOperatorOptions, "concurrency" | "signal">): Promise<void>
Parameter
- fn
-
(data: any, options?: Abortable) => void | Promise<void>
fungsi untuk memanggil setiap bagian aliran. Asinkron atau tidak.
- options
-
Pick<ReadableOperatorOptions, "concurrency" | "signal">
Mengembalikan
Promise<void>
janji ketika aliran selesai.
isPaused()
Metode ini readable.isPaused() mengembalikan status operasi saat ini dari .Readable
Ini digunakan terutama oleh mekanisme yang mendasari metode ini readable.pipe() .
Dalam kebanyakan kasus umum, tidak akan ada alasan untuk menggunakan metode ini secara langsung.
const readable = new stream.Readable();
readable.isPaused(); // === false
readable.pause();
readable.isPaused(); // === true
readable.resume();
readable.isPaused(); // === false
function isPaused(): boolean
Mengembalikan
boolean
iterator(ReadableIteratorOptions)
Iterator yang dibuat dengan metode ini memberi pengguna opsi untuk membatalkan penghancuran aliran jika for await...of loop keluar oleh return, break, atau throw, atau jika iterator harus menghancurkan aliran jika aliran memancarkan kesalahan selama iterasi.
function iterator(options?: ReadableIteratorOptions): AsyncIterator<any>
Parameter
- options
-
ReadableIteratorOptions
Mengembalikan
AsyncIterator<any>
listenerCount(string | symbol, (args: any[]) => void)
function listenerCount(eventName: string | symbol, listener?: (args: any[]) => void): number
Parameter
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Mengembalikan
number
listenerCount<E>(E, (args: ReadableEventMap[E]) => void)
Mengembalikan jumlah pendengar yang mendengarkan peristiwa bernama eventName.
Jika listener disediakan, itu akan mengembalikan berapa kali pendengar ditemukan dalam daftar pendengar acara.
function listenerCount<E>(eventName: E, listener?: (args: ReadableEventMap[E]) => void): number
Parameter
- eventName
-
E
Nama peristiwa yang sedang didengarkan
- listener
-
(args: ReadableEventMap[E]) => void
Fungsi penanganan aktivitas
Mengembalikan
number
listeners(string | symbol)
function listeners(eventName: string | symbol): (args: any[]) => void[]
Parameter
- eventName
-
string | symbol
Mengembalikan
(args: any[]) => void[]
listeners<E>(E)
Mengembalikan salinan array pendengar untuk peristiwa bernama eventName.
server.on('connection', (stream) => {
console.log('someone connected!');
});
console.log(util.inspect(server.listeners('connection')));
// Prints: [ [Function] ]
function listeners<E>(eventName: E): (args: ReadableEventMap[E]) => void[]
Parameter
- eventName
-
E
Mengembalikan
(args: ReadableEventMap[E]) => void[]
map((data: any, options?: Abortable) => any, ReadableOperatorOptions)
Metode ini memungkinkan pemetaan melalui aliran. Fungsi fn akan dipanggil untuk setiap potongan dalam aliran.
Jika fungsi fn mengembalikan promise - promise tersebut akan ed awaitsebelum diteruskan ke aliran hasil.
function map(fn: (data: any, options?: Abortable) => any, options?: ReadableOperatorOptions): Readable
Parameter
- fn
-
(data: any, options?: Abortable) => any
Fungsi untuk memetakan setiap potongan dalam aliran. Asinkron atau tidak.
- options
-
ReadableOperatorOptions
Mengembalikan
aliran yang dipetakan dengan fungsi fn.
off(string | symbol, (args: any[]) => void)
function off(eventName: string | symbol, listener: (args: any[]) => void): this
Parameter
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Mengembalikan
this
off<E>(E, (args: ReadableEventMap[E]) => void)
Alias untuk emitter.removeListener().
function off<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): this
Parameter
- eventName
-
E
- listener
-
(args: ReadableEventMap[E]) => void
Mengembalikan
this
on(string | symbol, (args: any[]) => void)
function on(eventName: string | symbol, listener: (args: any[]) => void): this
Parameter
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Mengembalikan
this
on<E>(E, (args: ReadableEventMap[E]) => void)
Menambahkan fungsi listener ke akhir array pendengar untuk peristiwa bernama eventName. Tidak ada pemeriksaan yang dilakukan untuk melihat apakah listener telah ditambahkan. Beberapa panggilan yang melewati kombinasi eventName dan listener yang sama akan mengakibatkan listener ditambahkan, dan dipanggil, beberapa kali.
server.on('connection', (stream) => {
console.log('someone connected!');
});
Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat ditautkan.
Secara default, pendengar peristiwa dipanggil dalam urutan ditambahkan. Metode emitter.prependListener() dapat digunakan sebagai alternatif untuk menambahkan pendengar peristiwa ke awal array pendengar.
import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.on('foo', () => console.log('a'));
myEE.prependListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
// b
// a
function on<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): this
Parameter
- eventName
-
E
Nama acara.
- listener
-
(args: ReadableEventMap[E]) => void
Fungsi panggilan balik
Mengembalikan
this
once(string | symbol, (args: any[]) => void)
function once(eventName: string | symbol, listener: (args: any[]) => void): this
Parameter
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Mengembalikan
this
once<E>(E, (args: ReadableEventMap[E]) => void)
Menambahkan fungsieventName dipicu, pendengar ini dihapus lalu dipanggil.
server.once('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat ditautkan.
Secara default, pendengar peristiwa dipanggil dalam urutan ditambahkan. Metode emitter.prependOnceListener() dapat digunakan sebagai alternatif untuk menambahkan pendengar peristiwa ke awal array pendengar.
import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.once('foo', () => console.log('a'));
myEE.prependOnceListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
// b
// a
function once<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): this
Parameter
- eventName
-
E
Nama acara.
- listener
-
(args: ReadableEventMap[E]) => void
Fungsi panggilan balik
Mengembalikan
this
pause()
Metode ini readable.pause() akan menyebabkan aliran dalam mode mengalir berhenti memancarkan 'data' peristiwa, beralih dari mode mengalir. Data apa pun yang tersedia akan tetap berada di buffer internal.
const readable = getReadableStreamSomehow();
readable.on('data', (chunk) => {
console.log(`Received ${chunk.length} bytes of data.`);
readable.pause();
console.log('There will be no additional data for 1 second.');
setTimeout(() => {
console.log('Now data will start flowing again.');
readable.resume();
}, 1000);
});
Metode ini readable.pause() tidak berpengaruh jika ada 'readable' pendengar peristiwa.
function pause(): this
Mengembalikan
this
prependListener(string | symbol, (args: any[]) => void)
function prependListener(eventName: string | symbol, listener: (args: any[]) => void): this
Parameter
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Mengembalikan
this
prependListener<E>(E, (args: ReadableEventMap[E]) => void)
Menambahkan fungsi listener telah ditambahkan. Beberapa panggilan yang melewati kombinasi eventName dan listener yang sama akan mengakibatkan listener ditambahkan, dan dipanggil, beberapa kali.
server.prependListener('connection', (stream) => {
console.log('someone connected!');
});
Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat ditautkan.
function prependListener<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): this
Parameter
- eventName
-
E
Nama acara.
- listener
-
(args: ReadableEventMap[E]) => void
Fungsi panggilan balik
Mengembalikan
this
prependOnceListener(string | symbol, (args: any[]) => void)
function prependOnceListener(eventName: string | symbol, listener: (args: any[]) => void): this
Parameter
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Mengembalikan
this
prependOnceListener<E>(E, (args: ReadableEventMap[E]) => void)
Menambahkan fungsieventName dipicu, pendengar ini dihapus, lalu dipanggil.
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat ditautkan.
function prependOnceListener<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): this
Parameter
- eventName
-
E
Nama acara.
- listener
-
(args: ReadableEventMap[E]) => void
Fungsi panggilan balik
Mengembalikan
this
push(any, BufferEncoding)
function push(chunk: any, encoding?: BufferEncoding): boolean
Parameter
- chunk
-
any
- encoding
-
BufferEncoding
Mengembalikan
boolean
rawListeners(string | symbol)
function rawListeners(eventName: string | symbol): (args: any[]) => void[]
Parameter
- eventName
-
string | symbol
Mengembalikan
(args: any[]) => void[]
rawListeners<E>(E)
Mengembalikan salinan array pendengar untuk peristiwa bernama eventName, termasuk pembungkus apa pun (seperti yang dibuat oleh .once()).
import { EventEmitter } from 'node:events';
const emitter = new EventEmitter();
emitter.once('log', () => console.log('log once'));
// Returns a new Array with a function `onceWrapper` which has a property
// `listener` which contains the original listener bound above
const listeners = emitter.rawListeners('log');
const logFnWrapper = listeners[0];
// Logs "log once" to the console and does not unbind the `once` event
logFnWrapper.listener();
// Logs "log once" to the console and removes the listener
logFnWrapper();
emitter.on('log', () => console.log('log persistently'));
// Will return a new Array with a single function bound by `.on()` above
const newListeners = emitter.rawListeners('log');
// Logs "log persistently" twice
newListeners[0]();
emitter.emit('log');
function rawListeners<E>(eventName: E): (args: ReadableEventMap[E]) => void[]
Parameter
- eventName
-
E
Mengembalikan
(args: ReadableEventMap[E]) => void[]
read(number)
Metode ini readable.read() membaca data dari buffer internal dan mengembalikannya. Jika tidak ada data yang tersedia untuk dibaca, dikembalikan. null Secara default, data dikembalikan sebagai Buffer objek kecuali pengkodean telah ditentukan menggunakan metode atau readable.setEncoding() aliran beroperasi dalam mode objek.
Argumen opsional size menentukan jumlah byte tertentu untuk dibaca. Jika size byte tidak tersedia untuk dibaca, null akan dikembalikan kecuali aliran telah berakhir, dalam hal ini semua data yang tersisa di buffer internal akan dikembalikan.
Jika size argumen tidak ditentukan, semua data yang terkandung dalam buffer internal akan dikembalikan.
Argumen size harus kurang dari atau sama dengan 1 GiB.
Metode ini readable.read() hanya boleh dipanggil pada Readable aliran yang beroperasi dalam mode dijeda. Dalam mode mengalir, readable.read() dipanggil secara otomatis sampai buffer internal benar-benar terkuras.
const readable = getReadableStreamSomehow();
// 'readable' may be triggered multiple times as data is buffered in
readable.on('readable', () => {
let chunk;
console.log('Stream is readable (new data received in buffer)');
// Use a loop to make sure we read all currently available data
while (null !== (chunk = readable.read())) {
console.log(`Read ${chunk.length} bytes of data...`);
}
});
// 'end' will be triggered once when there is no more data available
readable.on('end', () => {
console.log('Reached end of stream.');
});
Setiap panggilan ke readable.read() mengembalikan potongan data, atau null. Potongan-potongan itu tidak tergabung. Perulangan while diperlukan untuk menggunakan semua data yang saat ini berada di buffer. Saat membaca file .read() besar dapat mengembalikan null, setelah mengkonsumsi semua konten buffer sejauh ini, tetapi masih ada lebih banyak data yang akan datang belum buffer. Dalam hal ini, peristiwa baru 'readable' akan dipancarkan ketika ada lebih banyak data di buffer. Akhirnya 'end' event akan dipancarkan ketika tidak ada lagi data yang akan datang.
Oleh karena itu, untuk membaca seluruh konten file dari readable, perlu untuk mengumpulkan potongan di beberapa 'readable' peristiwa:
const chunks = [];
readable.on('readable', () => {
let chunk;
while (null !== (chunk = readable.read())) {
chunks.push(chunk);
}
});
readable.on('end', () => {
const content = chunks.join('');
});
Aliran Readable dalam mode objek akan selalu mengembalikan satu item dari panggilan ke readable.read(size), terlepas dari nilai size argumen.
Jika metode mengembalikan readable.read() sebagian data, 'data' peristiwa juga akan dipancarkan.
Panggilan yang dibaca setelah 'end' peristiwa dipancarkan akan kembali null. Tidak ada kesalahan runtime yang akan diangkat.
function read(size?: number): any
Parameter
- size
-
number
Argumen opsional untuk menentukan berapa banyak data yang akan dibaca.
Mengembalikan
any
reduce<T>((previous: any, data: any, options?: Abortable) => T)
Metode ini memanggil fn pada setiap potongan aliran secara berurutan, meneruskannya hasil dari perhitungan pada elemen sebelumnya. Ini mengembalikan janji untuk nilai akhir pengurangan.
Jika tidak ada nilai awal yang disediakan, potongan pertama aliran digunakan sebagai nilai awal.
Jika aliran kosong, janji ditolak dengan properti dengan TypeErrorERR_INVALID_ARGS kode.
Fungsi peredam mengulangi elemen aliran demi elemen yang berarti tidak ada parameter konkurensi atau paralelisme. Untuk melakukan pengurangan secara bersamaan, Anda dapat mengekstrak fungsi asinkron ke readable.map metode.
function reduce<T>(fn: (previous: any, data: any, options?: Abortable) => T): Promise<T>
Parameter
- fn
-
(previous: any, data: any, options?: Abortable) => T
fungsi peredam untuk memanggil setiap potongan dalam aliran. Asinkron atau tidak.
Mengembalikan
Promise<T>
janji untuk nilai akhir pengurangan.
reduce<T>((previous: T, data: any, options?: Abortable) => T, T, Abortable)
function reduce<T>(fn: (previous: T, data: any, options?: Abortable) => T, initial: T, options?: Abortable): Promise<T>
Parameter
- fn
-
(previous: T, data: any, options?: Abortable) => T
- initial
-
T
- options
-
Abortable
Mengembalikan
Promise<T>
removeAllListeners(string | symbol)
function removeAllListeners(eventName?: string | symbol): this
Parameter
- eventName
-
string | symbol
Mengembalikan
this
removeAllListeners<E>(E)
Menghapus semua pendengar, atau pendengar dari eventNameyang ditentukan.
Adalah praktik buruk untuk menghapus listener yang ditambahkan di tempat lain dalam kode, terutama ketika instans EventEmitter dibuat oleh beberapa komponen atau modul lain (misalnya soket atau aliran file).
Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat ditautkan.
function removeAllListeners<E>(eventName?: E): this
Parameter
- eventName
-
E
Mengembalikan
this
removeListener(string | symbol, (args: any[]) => void)
function removeListener(eventName: string | symbol, listener: (args: any[]) => void): this
Parameter
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Mengembalikan
this
removeListener<E>(E, (args: ReadableEventMap[E]) => void)
Menghapus listener yang ditentukan dari array pendengar untuk peristiwa bernama eventName.
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
removeListener() akan menghapus, paling banyak, satu instans pendengar dari array pendengar. Jika ada pendengar tunggal yang telah ditambahkan beberapa kali ke array pendengar untuk eventNameyang ditentukan, maka removeListener() harus dipanggil beberapa kali untuk menghapus setiap instans.
Setelah peristiwa dipancarkan, semua pendengar yang melekat padanya pada saat pemancaran dipanggil secara berurutan. Ini menyiratkan bahwa panggilan apa pun removeListener()removeAllListeners() memancarkan dan sebelum pemroses terakhir menyelesaikan eksekusi tidak akan menghapusnya dari emit() sedang berlangsung. Peristiwa berikutnya berulah seperti yang diharapkan.
import { EventEmitter } from 'node:events';
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
const callbackA = () => {
console.log('A');
myEmitter.removeListener('event', callbackB);
};
const callbackB = () => {
console.log('B');
};
myEmitter.on('event', callbackA);
myEmitter.on('event', callbackB);
// callbackA removes listener callbackB but it will still be called.
// Internal listener array at time of emit [callbackA, callbackB]
myEmitter.emit('event');
// Prints:
// A
// B
// callbackB is now removed.
// Internal listener array [callbackA]
myEmitter.emit('event');
// Prints:
// A
Karena pemroses dikelola menggunakan array internal, memanggil ini akan mengubah indeks posisi pemroses mana pun yang terdaftar setelah pemroses dihapus. Ini tidak akan berdampak pada urutan di mana pendengar dipanggil, tetapi itu berarti bahwa salinan array pendengar seperti yang dikembalikan oleh metode emitter.listeners() perlu dibuat ulang.
Ketika satu fungsi telah ditambahkan sebagai handler beberapa kali untuk satu peristiwa (seperti dalam contoh di bawah), removeListener() akan menghapus instans yang terakhir ditambahkan. Dalam contoh pendengar once('ping') dihapus:
import { EventEmitter } from 'node:events';
const ee = new EventEmitter();
function pong() {
console.log('pong');
}
ee.on('ping', pong);
ee.once('ping', pong);
ee.removeListener('ping', pong);
ee.emit('ping');
ee.emit('ping');
Mengembalikan referensi ke EventEmitter, sehingga panggilan dapat ditautkan.
function removeListener<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): this
Parameter
- eventName
-
E
- listener
-
(args: ReadableEventMap[E]) => void
Mengembalikan
this
resume()
Metode ini readable.resume() menyebabkan aliran yang dijeda Readable secara eksplisit untuk melanjutkan peristiwa pemancaran 'data' , mengalihkan aliran ke mode mengalir.
Metode ini readable.resume() dapat digunakan untuk sepenuhnya mengonsumsi data dari aliran tanpa benar-benar memproses data tersebut:
getReadableStreamSomehow()
.resume()
.on('end', () => {
console.log('Reached the end, but did not read anything.');
});
Metode ini readable.resume() tidak berpengaruh jika ada 'readable' pendengar peristiwa.
function resume(): this
Mengembalikan
this
setEncoding(BufferEncoding)
Metode ini readable.setEncoding() mengatur pengkodean karakter untuk data yang dibaca dari Readable aliran.
Secara default, tidak ada pengkodean yang ditetapkan dan data aliran akan dikembalikan sebagai Buffer objek. Mengatur pengodean menyebabkan data aliran dikembalikan sebagai string pengodean yang ditentukan, bukan sebagai Buffer objek. Misalnya, memanggil readable.setEncoding('utf8') akan menyebabkan data output ditafsirkan sebagai data UTF-8, dan diteruskan sebagai string. Memanggil readable.setEncoding('hex') akan menyebabkan data dikodekan dalam format string heksadesimal.
Aliran Readable akan menangani karakter multi-byte yang dikirimkan melalui aliran dengan benar yang akan didekodekan secara tidak benar jika hanya ditarik dari aliran sebagai Buffer objek.
const readable = getReadableStreamSomehow();
readable.setEncoding('utf8');
readable.on('data', (chunk) => {
assert.equal(typeof chunk, 'string');
console.log('Got %d characters of string data:', chunk.length);
});
function setEncoding(encoding: BufferEncoding): this
Parameter
- encoding
-
BufferEncoding
Pengodean yang akan digunakan.
Mengembalikan
this
some((data: any, options?: Abortable) => boolean | Promise<boolean>, Pick<ReadableOperatorOptions, "concurrency" | "signal">)
Metode ini mirip dengan Array.prototype.some dan memanggil fn pada setiap potongan dalam aliran hingga nilai pengembalian yang ditunggu-tunggu adalah true (atau nilai kebenaran apa pun). Setelah panggilan fn pada awaitnilai pengembalian chunk ed benar, aliran dihancurkan dan janji dipenuhi dengan true.
Jika tidak ada panggilan fn pada potongan yang mengembalikan nilai yang benar, janji itu dipenuhi dengan false.
function some(fn: (data: any, options?: Abortable) => boolean | Promise<boolean>, options?: Pick<ReadableOperatorOptions, "concurrency" | "signal">): Promise<boolean>
Parameter
- fn
-
(data: any, options?: Abortable) => boolean | Promise<boolean>
fungsi untuk memanggil setiap bagian aliran. Asinkron atau tidak.
- options
-
Pick<ReadableOperatorOptions, "concurrency" | "signal">
Mengembalikan
Promise<boolean>
Janji yang mengevaluasi jika trueFN mengembalikan nilai kebenaran untuk setidaknya satu potongan.
take(number, Abortable)
Metode ini mengembalikan aliran baru dengan potongan batas pertama.
function take(limit: number, options?: Abortable): Readable
Parameter
- limit
-
number
jumlah potongan yang akan diambil dari yang dapat dibaca.
- options
-
Abortable
Mengembalikan
aliran dengan potongan batas yang diambil.
toArray(Abortable)
Metode ini memungkinkan dengan mudah mendapatkan konten aliran.
Karena metode ini membaca seluruh aliran ke dalam memori, metode ini meniadakan manfaat aliran. Ini ditujukan untuk interoperabilitas dan kenyamanan, bukan sebagai cara utama untuk mengonsumsi streaming.
function toArray(options?: Abortable): Promise<any[]>
Parameter
- options
-
Abortable
Mengembalikan
Promise<any[]>
Janji yang berisi array dengan konten aliran.
unpipe(WritableStream)
Metode ini readable.unpipe() melepaskan aliran yang Writable sebelumnya terpasang menggunakan metode pipa .
Jika tidak destination ditentukan, maka semua pipa terlepas.
Jika ditentukan destination , tetapi tidak ada pipa yang disiapkan untuk itu, maka metode tersebut tidak melakukan apa-apa.
import fs from 'node:fs';
const readable = getReadableStreamSomehow();
const writable = fs.createWriteStream('file.txt');
// All the data from readable goes into 'file.txt',
// but only for the first second.
readable.pipe(writable);
setTimeout(() => {
console.log('Stop writing to file.txt.');
readable.unpipe(writable);
console.log('Manually close the file stream.');
writable.end();
}, 1000);
function unpipe(destination?: WritableStream): this
Parameter
- destination
-
WritableStream
Aliran khusus opsional untuk membuka pipa
Mengembalikan
this
unshift(any, BufferEncoding)
Melewati chunk sebagai null sinyal akhir aliran (EOF) dan berperilaku sama dengan readable.push(null), setelah itu tidak ada lagi data yang dapat ditulis. Sinyal EOF diletakkan di ujung buffer dan data buffer apa pun akan tetap disiram.
Metode ini readable.unshift() mendorong sebagian data kembali ke buffer internal. Ini berguna dalam situasi tertentu di mana aliran dikonsumsi oleh kode yang perlu "membatalkan konsumsi" sejumlah data yang telah ditarik secara optimis dari sumbernya, sehingga data dapat diteruskan ke pihak lain.
Metode ini stream.unshift(chunk) tidak dapat dipanggil setelah 'end' peristiwa dipancarkan atau kesalahan runtime akan dilemparkan.
Pengembang yang sering menggunakan stream.unshift() harus mempertimbangkan untuk beralih ke penggunaan Transform aliran sebagai gantinya. Lihat bagian untuk API for stream implementers informasi lebih lanjut.
// Pull off a header delimited by \n\n.
// Use unshift() if we get too much.
// Call the callback with (error, header, stream).
import { StringDecoder } from 'node:string_decoder';
function parseHeader(stream, callback) {
stream.on('error', callback);
stream.on('readable', onReadable);
const decoder = new StringDecoder('utf8');
let header = '';
function onReadable() {
let chunk;
while (null !== (chunk = stream.read())) {
const str = decoder.write(chunk);
if (str.includes('\n\n')) {
// Found the header boundary.
const split = str.split(/\n\n/);
header += split.shift();
const remaining = split.join('\n\n');
const buf = Buffer.from(remaining, 'utf8');
stream.removeListener('error', callback);
// Remove the 'readable' listener before unshifting.
stream.removeListener('readable', onReadable);
if (buf.length)
stream.unshift(buf);
// Now the body of the message can be read from the stream.
callback(null, header, stream);
return;
}
// Still reading the header.
header += str;
}
}
}
Tidak seperti push, stream.unshift(chunk) tidak akan mengakhiri proses membaca dengan mengatur ulang status pembacaan internal aliran.
Hal ini dapat menyebabkan hasil yang tidak terduga jika readable.unshift() dipanggil selama pembacaan (yaitu dari dalam implementasi _read pada aliran kustom). Mengikuti panggilan ke readable.unshift() dengan dorongan langsung akan mengatur ulang status pembacaan dengan tepat, namun yang terbaik adalah menghindari panggilan readable.unshift() saat dalam proses melakukan pembacaan.
function unshift(chunk: any, encoding?: BufferEncoding)
Parameter
- chunk
-
any
Potongan data untuk dihapus ke antrean baca. Untuk aliran yang tidak beroperasi dalam mode objek, chunk harus berupa {string}, {Buffer}, {TypedArray}, {DataView} atau null. Untuk aliran mode objek, chunk mungkin berupa nilai JavaScript apa pun.
- encoding
-
BufferEncoding
Pengkodean potongan string. Harus berupa pengkodean yang valid Buffer , seperti 'utf8' atau 'ascii'.
wrap(ReadableStream)
Sebelum Node.js 0.10, streaming tidak mengimplementasikan seluruh node:stream API modul seperti yang ditentukan saat ini. (Lihat Compatibility untuk informasi lebih lanjut.)
Saat menggunakan pustaka Node.js lama yang memancarkan 'data' peristiwa dan memiliki metode jeda yang hanya bersifat pemberitahuan, metode tersebut readable.wrap() dapat digunakan untuk membuat Readable aliran yang menggunakan aliran lama sebagai sumber datanya.
Jarang perlu digunakan readable.wrap() tetapi metode ini telah disediakan sebagai kenyamanan untuk berinteraksi dengan aplikasi dan perpustakaan Node.js lama.
import { OldReader } from './old-api-module.js';
import { Readable } from 'node:stream';
const oreader = new OldReader();
const myReader = new Readable().wrap(oreader);
myReader.on('readable', () => {
myReader.read(); // etc.
});
function wrap(stream: ReadableStream): this
Parameter
- stream
-
ReadableStream
Aliran "gaya lama" yang dapat dibaca
Mengembalikan
this
[asyncDispose]()
Menghubungi readable.destroy() dan AbortError mengembalikan janji yang terpenuhi ketika siaran selesai.
function [asyncDispose](): Promise<void>
Mengembalikan
Promise<void>
[asyncIterator]()
function [asyncIterator](): AsyncIterator<any>
Mengembalikan
AsyncIterator<any>
AsyncIterator untuk mengkonsumsi aliran sepenuhnya.
[toAsyncStreamable]()
Saat --experimental-stream-iter bendera diaktifkan, Readable streaming mengimplementasikan Stream.toAsyncStreamable protokol, memungkinkan konsumsi yang efisien oleh stream/iter API.
Ini menyediakan iterator asinkron batch yang menguras buffer internal aliran ke dalam Uint8Array[] batch, mengamortisasi overhead Promise per potongan dari jalur standar Symbol.asyncIterator . Untuk aliran mode byte, potongan dihasilkan secara langsung sebagai Buffer instans (yang merupakan Uint8Array subkelas).
Untuk aliran mode objek atau yang dikodekan, setiap potongan dinormalisasi sebelum Uint8Array pengelompokan.
Iterator yang dikembalikan ditandai sebagai sumber yang divalidasi, sehingga from() melewatinya tanpa normalisasi tambahan.
import { Readable } from 'node:stream';
import { text, from } from 'node:stream/iter';
const readable = new Readable({
read() { this.push('hello'); this.push(null); },
});
// Readable is automatically consumed via toAsyncStreamable
console.log(await text(from(readable))); // 'hello'
Tanpa --experimental-stream-iter bendera, memanggil metode ini melempar ERR_STREAM_ITER_MISSING_FLAG.
function [toAsyncStreamable](): ByteReadableStream
Mengembalikan
ByteReadableStream
Detail Metode yang Diwarisi
eventNames()
Mengembalikan array yang mencantumkan peristiwa di mana pemancar telah mendaftarkan pendengar.
import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.on('foo', () => {});
myEE.on('bar', () => {});
const sym = Symbol('symbol');
myEE.on(sym, () => {});
console.log(myEE.eventNames());
// Prints: [ 'foo', 'bar', Symbol(symbol) ]
function eventNames(): (string | symbol)[]
Mengembalikan
(string | symbol)[]
Diwarisi dari Stream.eventNames
getMaxListeners()
Mengembalikan nilai pendengar maks saat ini untuk EventEmitter yang diatur oleh emitter.setMaxListeners(n) atau default ke events.defaultMaxListeners.
function getMaxListeners(): number
Mengembalikan
number
Diwarisi dari Stream.getMaxPendengar
pipe<T>(T, PipeOptions)
function pipe<T>(destination: T, options?: PipeOptions): T
Parameter
- destination
-
T
- options
-
PipeOptions
Mengembalikan
T
Diwarisi dari Stream.pipe
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): this
Parameter
- n
-
number
Mengembalikan
this
Diwarisi dari Stream.setMaxPendengar
[captureRejectionSymbol](Error, string | symbol, any[])
Metode ini Symbol.for('nodejs.rejection') dipanggil jika penolakan janji terjadi saat memancarkan peristiwa dan captureRejections diaktifkan pada emitor.
Dimungkinkan untuk digunakan events.captureRejectionSymbol sebagai pengganti Symbol.for('nodejs.rejection').
import { EventEmitter, captureRejectionSymbol } from 'node:events';
class MyClass extends EventEmitter {
constructor() {
super({ captureRejections: true });
}
[captureRejectionSymbol](err, event, ...args) {
console.log('rejection happened for', event, 'with', err, ...args);
this.destroy(err);
}
destroy(err) {
// Tear the resource down here.
}
}
function [captureRejectionSymbol](error: Error, event: string | symbol, args: any[])
Parameter
- error
-
Error
- event
-
string | symbol
- args
-
any[]
Diwarisi dari Stream. [captureRejectionSymbol]