Readable class
- Extends
-
Stream
Konstruktorok
| Readable(Readable |
Tulajdonságok
| closed | A |
| destroyed | A |
| errored | Hibát ad, ha a stream hibával megsemmisült. |
| readable | Ha |
| readable |
Visszaadja azt a reakciót, hogy a stream megsemmisült-e vagy hibázott az emitáció |
| readable |
Visszajelzés, hogy kibocsátották-e |
| readable |
Getter egy adott |
| readable |
Akkor válik, |
| readable |
Ez a tulajdonság tükrözi a |
| readable |
A passz értékét |
| readable |
Ez a tulajdonság tartalmazza a sorban lévő bájtok (vagy objektumok) számát, amelyek készen állnak az olvasásra. Az érték introspektív adatokat ad a . |
| readable |
Getter egy adott |
Metódusok
| add |
|
| add |
|
| compose(Writable |
Ez a módszer lehetővé teszi egy További információért lásd a |
| destroy(Error) | Pusztítsd el a patakot. Opcionálisan kibocsáthatsz egy Ha A végrehajtóknak nem szabad felülírniuk ezt a módszert, hanem inkább implementálniuk |
| drop(number, Abortable) | Ez a módszer új streamet ad vissza, amelynek első limit chunkjai már az elejétől elhagyják. |
| emit(string | symbol, any[]) | |
| emit<E>(E, Readable |
|
| every((data: any, options?: Abortable) => boolean | Promise<boolean>, Pick<Readable |
Ez a módszer hasonló, és |
| filter((data: any, options?: Abortable) => boolean | Promise<boolean>, Readable |
Ez a módszer lehetővé teszi az áramlat szűrését. Minden egyes darab esetén az fn függvényt hívják, és ha igazságos értéket ad vissza, akkor a chunk átkerül az eredményfolyamhoz.
Ha az fn függvény ígéretet ad vissza – az ígéret ed-re |
| find((data: any, options?: Abortable) => boolean | Promise<boolean>, Pick<Readable |
|
| find<T>((data: any, options?: Abortable) => data, Pick<Readable |
Ez a módszer hasonló a |
| flat |
Ez a módszer új streamet ad vissza úgy, hogy a megadott visszahívást alkalmazza az áram egyes szakaszára, majd lapítja az eredményt. Lehetséges egy streamet vagy más, iterable vagy asszinkron iterálható fn-ből visszaadni, és az eredmény folyamai összeolvadnak (lapítják) a visszaadott folyammal. |
| for |
Ez a módszer lehetővé teszi egy stream iterálását. Az áramfolyam minden egyes részéhez az fn függvény lesz meghívva.
Ha az fn függvény ígéretet ad vissza – az ígéret ed-re Ez a módszer eltér a Ez a módszer eltér az esemény meghallgatásától |
| from(Iterable<any> | Async |
Egy hasznos módszer Readable Streamek létrehozására iterátorokból. |
| from |
Egy hasznos módszer a webből |
| is |
Visszaadja azt is, hogy a streamet elolvasták vagy törölték. |
| is |
A
|
| iterator(Readable |
Ezzel a módszerrel létrehozott iterátor lehetőséget ad a felhasználóknak, hogy töröljék az áramfolyam megsemmisítését, ha a |
| listener |
|
| listener |
|
| listeners(string | symbol) | |
| listeners<E>(E) | |
| map((data: any, options?: Abortable) => any, Readable |
Ez a módszer lehetővé teszi a padi leképezést az áramlat felett. Az fn függvényt minden egyes szakaszra hívják meg a streamben.
Ha az fn függvény ígéretet ad vissza – az ígéret ed-re |
| off(string | symbol, (args: any[]) => void) | |
| off<E>(E, (args: Readable |
|
| on(string | symbol, (args: any[]) => void) | |
| on<E>(E, (args: Readable |
|
| once(string | symbol, (args: any[]) => void) | |
| once<E>(E, (args: Readable |
|
| pause() | A
A |
| prepend |
|
| prepend |
|
| prepend |
|
| prepend |
|
| push(any, Buffer |
|
| raw |
|
| raw |
|
| read(number) | A Az opcionális Ha az Az érvnek A
Minden hívás Ezért ahhoz, hogy egy fájl teljes tartalmát olvassuk az -
Egy Ha a
Az esemény kisugárzása után olvasott hívás |
| reduce<T>((previous: any, data: any, options?: Abortable) => T) | Ez a módszer sorrendben hívja meg a fn-t az áramfolyam minden egyes részén, és továbbítja neki az előző elem számításának eredményét. Ígéretet ad a redukció végső értékére. Ha nem adunk ki kezdeti értéket, akkor az adatfolyam első darabját használják kiindulóként.
Ha az áramlat üres, az ígéret a A reduktorfüggvény elemenként iterálja az áramlatot, ami azt jelenti, hogy nincs egyidejű paraméter vagy párhuzamosság. A redukció egyidejű végrehajtásához az aszinkron függvényt kihúzhatod a |
| reduce<T>((previous: T, data: any, options?: Abortable) => T, T, Abortable) | |
| remove |
|
| remove |
|
| remove |
|
| remove |
|
| resume() | A A
A |
| set |
A Alapértelmezés szerint nem rendelnek hozzá kódolást, és az adatfolyam adatai objektumként Az
|
| some((data: any, options?: Abortable) => boolean | Promise<boolean>, Pick<Readable |
Ez a módszer hasonló és |
| take(number, Abortable) | Ez a módszer egy új adatfolyamot ad vissza az első limit chunkokkal. |
| to |
Ez a módszer lehetővé teszi, hogy könnyen megszerezzék egy folyam tartalmát. Mivel ez a módszer az egész streamet olvassa be a memóriába, semlegesíti az áramlatok előnyeit. Ez az interoperabilitásra és a kényelmi megoldásra van szánva, nem pedig az elsődleges módnak a streamek fogyasztásának. |
| to |
Egy hasznos módszer egy webet |
| unpipe(Writable |
A Ha Ha
|
| unshift(any, Buffer |
Jelként továbbítva A A A gyakran használó fejlesztőknek
Ellentétben a push-tal, |
| wrap(Readable |
Node.js 0.10 előtt a streamek nem valósították meg a teljes Ha egy régebbi Node.js könyvtárat használunk, amely eseményeket bocsát Ritkán lesz szükség a használatára
|
| [async |
Örökölt metódusok
| event |
Egy tömböt ad vissza, amely felsorolja azokat az eseményeket, amelyekhez az emitter regisztrált figyelőket.
|
| get |
A |
| pipe<T>(T, Pipe |
|
| set |
Alapértelmezés szerint A |
| [capture |
A
|
Konstruktor adatai
Readable(ReadableOptions<Readable>)
Tulajdonság adatai
closed
A true kibocsátás után 'close' is kibocsátott.
closed: boolean
Tulajdonság értéke
boolean
destroyed
A true hívás után readable.destroy() történt.
destroyed: boolean
Tulajdonság értéke
boolean
errored
Hibát ad, ha a stream hibával megsemmisült.
errored: null | Error
Tulajdonság értéke
null | Error
readable
Ha true biztonságos a olvasás hívása, ami azt jelenti, hogy a stream nem sérült meg vagy nem bocsátott 'error' ki, vagy 'end'.
readable: boolean
Tulajdonság értéke
boolean
readableAborted
Visszaadja azt a reakciót, hogy a stream megsemmisült-e vagy hibázott az emitáció 'end'előtt.
readableAborted: boolean
Tulajdonság értéke
boolean
readableDidRead
Visszajelzés, hogy kibocsátották-e 'data' .
readableDidRead: boolean
Tulajdonság értéke
boolean
readableEncoding
Getter egy adott Readable áram tulajdonságáraencoding. A encoding tulajdonság a setEncoding módszerrel állítható be.
readableEncoding: null | BufferEncoding
Tulajdonság értéke
null | BufferEncoding
readableEnded
Akkor válik, true amikor 'end' az esemény kibocsátódik.
readableEnded: boolean
Tulajdonság értéke
boolean
readableFlowing
Ez a tulajdonság tükrözi a Readable patak aktuális állapotát, ahogy azt a Három állapot szakaszban leírjuk.
readableFlowing: null | boolean
Tulajdonság értéke
null | boolean
readableHighWaterMark
A passz értékét highWaterMark adja vissza, amikor ezt Readablelétrehozza.
readableHighWaterMark: number
Tulajdonság értéke
number
readableLength
Ez a tulajdonság tartalmazza a sorban lévő bájtok (vagy objektumok) számát, amelyek készen állnak az olvasásra. Az érték introspektív adatokat ad a . highWaterMarkállapotáról.
readableLength: number
Tulajdonság értéke
number
readableObjectMode
Getter egy adott Readable áram tulajdonságáraobjectMode.
readableObjectMode: boolean
Tulajdonság értéke
boolean
Metódus adatai
addListener(string | symbol, (args: any[]) => void)
function addListener(eventName: string | symbol, listener: (args: any[]) => void): Readable
Paraméterek
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Válaszok
addListener<E>(E, (args: ReadableEventMap[E]) => void)
function addListener<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): Readable
Paraméterek
- eventName
-
E
- listener
-
(args: ReadableEventMap[E]) => void
Válaszok
compose(WritableStream | WritableStream<any> | TransformStream<any, any> | (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)egyenértékű a .-nak.stream.compose(readable, s)
Ez a módszer lehetővé teszi egy AbortSignal adás biztosítását is, amely megszakítás esetén elpusztítja a keletkezett folyamot.
További információért lásd a stream.compose(...streams) jelű részt.
function compose(stream: WritableStream | WritableStream<any> | TransformStream<any, any> | (source: any) => void, options?: Abortable): Duplex
Paraméterek
- stream
-
WritableStream | WritableStream<any> | TransformStream<any, any> | (source: any) => void
- options
-
Abortable
Válaszok
Duplex
egy áramlat, amely az áramlattal streamáll össze.
destroy(Error)
Pusztítsd el a patakot. Opcionálisan kibocsáthatsz egy 'error' eseményt, és kibocsáthatsz egy 'close' eseményt (kivéve, ha emitClose beállított-a false). E hívás után az olvasható stream minden belső erőforrást felszabadít, és a következő hívásokat push() figyelmen kívül hagyják.
Ha destroy() behívták, további hívások no-op lesznek, és további hibák nem kerülhetnek ki, kivéve , _destroy() mint 'error'.
A végrehajtóknak nem szabad felülírniuk ezt a módszert, hanem inkább implementálniuk readable._destroy().
function destroy(error?: Error): Readable
Paraméterek
- error
-
Error
Hiba, amely egy esetben hasznos terhelésként 'error' fog továbbítani
Válaszok
drop(number, Abortable)
Ez a módszer új streamet ad vissza, amelynek első limit chunkjai már az elejétől elhagyják.
function drop(limit: number, options?: Abortable): Readable
Paraméterek
- limit
-
number
hány darabot kell leejteni az olvashatóból.
- options
-
Abortable
Válaszok
egy stream, amelynek limites szakaszai már az elejétől elmaradtak.
emit(string | symbol, any[])
function emit(eventName: string | symbol, args: any[]): boolean
Paraméterek
- eventName
-
string | symbol
- args
-
any[]
Válaszok
boolean
emit<E>(E, ReadableEventMap[E])
function emit<E>(eventName: E, args: ReadableEventMap[E]): boolean
Paraméterek
- eventName
-
E
- args
-
ReadableEventMap[E]
Válaszok
boolean
every((data: any, options?: Abortable) => boolean | Promise<boolean>, Pick<ReadableOperatorOptions, "signal" | "concurrency">)
Ez a módszer hasonló, és Array.prototype.every minden egyes darabon fn-t hív, hogy ellenőrizze, minden várt visszatérési érték igaz-e fn esetén. Ha egy fn hívás egy chunk awaited visszatérítési érték hamis, a stream megsemmisül, és az ígéret teljesül .false
Ha az összes fn hívás a chunkokban igazságos értéket ad, az ígéret teljesül .true
function every(fn: (data: any, options?: Abortable) => boolean | Promise<boolean>, options?: Pick<ReadableOperatorOptions, "signal" | "concurrency">): Promise<boolean>
Paraméterek
- fn
-
(data: any, options?: Abortable) => boolean | Promise<boolean>
egy függvény, amely az adatfolyam minden egyes részét megidézi. Aszinkron vagy sem.
- options
-
Pick<ReadableOperatorOptions, "signal" | "concurrency">
Válaszok
Promise<boolean>
Egy ígéret, amely értékeli, true hogy az FN minden egyes darabért igazságos értéket adott vissza.
filter((data: any, options?: Abortable) => boolean | Promise<boolean>, ReadableOperatorOptions)
Ez a módszer lehetővé teszi az áramlat szűrését. Minden egyes darab esetén az fn függvényt hívják, és ha igazságos értéket ad vissza, akkor a chunk átkerül az eredményfolyamhoz.
Ha az fn függvény ígéretet ad vissza – az ígéret ed-re awaitkerül.
function filter(fn: (data: any, options?: Abortable) => boolean | Promise<boolean>, options?: ReadableOperatorOptions): Readable
Paraméterek
- fn
-
(data: any, options?: Abortable) => boolean | Promise<boolean>
egy függvény, amely a streamből származó darabokat szűri. Aszinkron vagy sem.
- options
-
ReadableOperatorOptions
Válaszok
egy fn predikátummal szűrt áramlat.
find((data: any, options?: Abortable) => boolean | Promise<boolean>, Pick<ReadableOperatorOptions, "signal" | "concurrency">)
function find(fn: (data: any, options?: Abortable) => boolean | Promise<boolean>, options?: Pick<ReadableOperatorOptions, "signal" | "concurrency">): Promise<any>
Paraméterek
- fn
-
(data: any, options?: Abortable) => boolean | Promise<boolean>
- options
-
Pick<ReadableOperatorOptions, "signal" | "concurrency">
Válaszok
Promise<any>
find<T>((data: any, options?: Abortable) => data, Pick<ReadableOperatorOptions, "signal" | "concurrency">)
Ez a módszer hasonló a Array.prototype.findfn-hez minden egyes szakaszon, és fn-t hív, hogy megtaláljon egy chunkot, amelynek igazságértéke fn-hez. Ha egy fn hívás várt visszatérési értéke igaz, a stream megsemmisül, és az ígéret teljesül azzal az értékkel, amelyért a fn igazságos értéket adott vissza.
Ha az összes fn hívás a chunkokra hamis értéket ad, az ígéret teljesül.undefined
function find<T>(fn: (data: any, options?: Abortable) => data, options?: Pick<ReadableOperatorOptions, "signal" | "concurrency">): Promise<undefined | T>
Paraméterek
- fn
-
(data: any, options?: Abortable) => data
egy függvény, amely az adatfolyam minden egyes részét megidézi. Aszinkron vagy sem.
- options
-
Pick<ReadableOperatorOptions, "signal" | "concurrency">
Válaszok
Promise<undefined | T>
Egy ígéret, amely az első részhez értékelt, amelyhez az FN igazi értékkel értékelt, vagy undefined ha nem találtak elemet.
flatMap((data: any, options?: Abortable) => any, Pick<ReadableOperatorOptions, "signal" | "concurrency">)
Ez a módszer új streamet ad vissza úgy, hogy a megadott visszahívást alkalmazza az áram egyes szakaszára, majd lapítja az eredményt.
Lehetséges egy streamet vagy más, iterable vagy asszinkron iterálható fn-ből visszaadni, és az eredmény folyamai összeolvadnak (lapítják) a visszaadott folyammal.
function flatMap(fn: (data: any, options?: Abortable) => any, options?: Pick<ReadableOperatorOptions, "signal" | "concurrency">): Readable
Paraméterek
- fn
-
(data: any, options?: Abortable) => any
egy függvény, amely minden szakaszt leképez a folyamban. Lehet, hogy aszinkron. Lehet egy patak vagy generátor.
- options
-
Pick<ReadableOperatorOptions, "signal" | "concurrency">
Válaszok
egy fn függvénnyel lapos leképezésű folyam.
forEach((data: any, options?: Abortable) => void | Promise<void>, Pick<ReadableOperatorOptions, "signal" | "concurrency">)
Ez a módszer lehetővé teszi egy stream iterálását. Az áramfolyam minden egyes részéhez az fn függvény lesz meghívva.
Ha az fn függvény ígéretet ad vissza – az ígéret ed-re awaitkerül.
Ez a módszer eltér a for await...of hurkoktól, mivel opcionálisan egyszerre feldolgozhatja a darabokat.
Ezen felül egy forEach iteráció csak akkor állíthat meg, ha egy signal opciót átsiklott, és megszakítja a kapcsolódó AbortControllert, miközben for await...of a megállítható returnvagy -vel break is megállítható.
Mindkét esetben a patak tönkretelik.
Ez a módszer eltér az esemény meghallgatásától 'data' , mivel readable az eseményt használja az alatta lévő gépészetben, és korlátozhatja az egyidejű fn hívások számát.
function forEach(fn: (data: any, options?: Abortable) => void | Promise<void>, options?: Pick<ReadableOperatorOptions, "signal" | "concurrency">): Promise<void>
Paraméterek
- fn
-
(data: any, options?: Abortable) => void | Promise<void>
egy függvény, amely az adatfolyam minden egyes részét megidézi. Aszinkron vagy sem.
- options
-
Pick<ReadableOperatorOptions, "signal" | "concurrency">
Válaszok
Promise<void>
egy ígéret, amikor véget ér a stream.
from(Iterable<any> | AsyncIterable<any>, ReadableOptions<Readable>)
Egy hasznos módszer Readable Streamek létrehozására iterátorokból.
static function from(iterable: Iterable<any> | AsyncIterable<any>, options?: ReadableOptions<Readable>): Readable
Paraméterek
- iterable
-
Iterable<any> | AsyncIterable<any>
Objektum implementálja az Symbol.asyncIterator vagy Symbol.iterator iterable protokollt. 'hiba' eseményt bocsát ki, ha null értéket passzolnak.
- options
-
ReadableOptions<Readable>
Lehetőségek a new stream.Readable([options]). Alapértelmezés Readable.from()options.objectModetrueszerint , ha ezt kifejezetten ki nem állítjuk .options.objectModefalse
Válaszok
fromWeb(ReadableStream<any>, Pick<ReadableOptions<Readable>, "encoding" | "highWaterMark" | "objectMode" | "signal">)
Egy hasznos módszer a webből ReadableStreamtörténő létrehozásáraReadable.
static function fromWeb(readableStream: ReadableStream<any>, options?: Pick<ReadableOptions<Readable>, "encoding" | "highWaterMark" | "objectMode" | "signal">): Readable
Paraméterek
- readableStream
-
ReadableStream<any>
- options
-
Pick<ReadableOptions<Readable>, "encoding" | "highWaterMark" | "objectMode" | "signal">
Válaszok
isDisturbed(ReadableStream<any> | ReadableStream)
Visszaadja azt is, hogy a streamet elolvasták vagy törölték.
static function isDisturbed(stream: ReadableStream<any> | ReadableStream): boolean
Paraméterek
- stream
-
ReadableStream<any> | ReadableStream
Válaszok
boolean
isPaused()
A readable.isPaused() módszer visszaadja a jelenlegi működési állapotot .Readable
Ezt elsősorban a módszer mögött álló mechanizmus readable.pipe() használja.
A legtöbb tipikus esetben nincs ok közvetlenül alkalmazni ezt a módszert.
const readable = new stream.Readable();
readable.isPaused(); // === false
readable.pause();
readable.isPaused(); // === true
readable.resume();
readable.isPaused(); // === false
function isPaused(): boolean
Válaszok
boolean
iterator(ReadableIteratorOptions)
Ezzel a módszerrel létrehozott iterátor lehetőséget ad a felhasználóknak, hogy töröljék az áramfolyam megsemmisítését, ha a for await...of hurkot return, break, vagy throw, vagy az iterátor megsemmisíti, ha az áramlat hibát adott ki az iteráció során.
function iterator(options?: ReadableIteratorOptions): AsyncIterator<any, undefined, any>
Paraméterek
- options
-
ReadableIteratorOptions
Válaszok
AsyncIterator<any, undefined, any>
listenerCount(string | symbol, (args: any[]) => void)
function listenerCount(eventName: string | symbol, listener?: (args: any[]) => void): number
Paraméterek
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Válaszok
number
listenerCount<E>(E, (args: ReadableEventMap[E]) => void)
function listenerCount<E>(eventName: E, listener?: (args: ReadableEventMap[E]) => void): number
Paraméterek
- eventName
-
E
- listener
-
(args: ReadableEventMap[E]) => void
Válaszok
number
listeners(string | symbol)
function listeners(eventName: string | symbol): (args: any[]) => void[]
Paraméterek
- eventName
-
string | symbol
Válaszok
(args: any[]) => void[]
listeners<E>(E)
function listeners<E>(eventName: E): (args: ReadableEventMap[E]) => void[]
Paraméterek
- eventName
-
E
Válaszok
(args: ReadableEventMap[E]) => void[]
map((data: any, options?: Abortable) => any, ReadableOperatorOptions)
Ez a módszer lehetővé teszi a padi leképezést az áramlat felett. Az fn függvényt minden egyes szakaszra hívják meg a streamben.
Ha az fn függvény ígéretet ad vissza – az ígéret ed-re awaitkerül, mielőtt átadná az eredményfolyamnak.
function map(fn: (data: any, options?: Abortable) => any, options?: ReadableOperatorOptions): Readable
Paraméterek
- fn
-
(data: any, options?: Abortable) => any
egy függvény, amely minden szakaszt leképez a folyamban. Aszinkron vagy sem.
- options
-
ReadableOperatorOptions
Válaszok
egy áramlat, amelyet az fn függvény képez le.
off(string | symbol, (args: any[]) => void)
function off(eventName: string | symbol, listener: (args: any[]) => void): Readable
Paraméterek
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Válaszok
off<E>(E, (args: ReadableEventMap[E]) => void)
function off<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): Readable
Paraméterek
- eventName
-
E
- listener
-
(args: ReadableEventMap[E]) => void
Válaszok
on(string | symbol, (args: any[]) => void)
function on(eventName: string | symbol, listener: (args: any[]) => void): Readable
Paraméterek
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Válaszok
on<E>(E, (args: ReadableEventMap[E]) => void)
function on<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): Readable
Paraméterek
- eventName
-
E
- listener
-
(args: ReadableEventMap[E]) => void
Válaszok
once(string | symbol, (args: any[]) => void)
function once(eventName: string | symbol, listener: (args: any[]) => void): Readable
Paraméterek
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Válaszok
once<E>(E, (args: ReadableEventMap[E]) => void)
function once<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): Readable
Paraméterek
- eventName
-
E
- listener
-
(args: ReadableEventMap[E]) => void
Válaszok
pause()
A readable.pause() módszer arra készteti, hogy egy áramlat áramlat megállítja az 'data' események kibocsátását, és kivált az áramlási módból. Bármilyen elérhetővé vált adat a belső pufferben marad.
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);
});
A readable.pause() módszernek nincs hatása, ha van eseményhallgató 'readable' .
function pause(): Readable
Válaszok
prependListener(string | symbol, (args: any[]) => void)
function prependListener(eventName: string | symbol, listener: (args: any[]) => void): Readable
Paraméterek
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Válaszok
prependListener<E>(E, (args: ReadableEventMap[E]) => void)
function prependListener<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): Readable
Paraméterek
- eventName
-
E
- listener
-
(args: ReadableEventMap[E]) => void
Válaszok
prependOnceListener(string | symbol, (args: any[]) => void)
function prependOnceListener(eventName: string | symbol, listener: (args: any[]) => void): Readable
Paraméterek
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Válaszok
prependOnceListener<E>(E, (args: ReadableEventMap[E]) => void)
function prependOnceListener<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): Readable
Paraméterek
- eventName
-
E
- listener
-
(args: ReadableEventMap[E]) => void
Válaszok
push(any, BufferEncoding)
function push(chunk: any, encoding?: BufferEncoding): boolean
Paraméterek
- chunk
-
any
- encoding
-
BufferEncoding
Válaszok
boolean
rawListeners(string | symbol)
function rawListeners(eventName: string | symbol): (args: any[]) => void[]
Paraméterek
- eventName
-
string | symbol
Válaszok
(args: any[]) => void[]
rawListeners<E>(E)
function rawListeners<E>(eventName: E): (args: ReadableEventMap[E]) => void[]
Paraméterek
- eventName
-
E
Válaszok
(args: ReadableEventMap[E]) => void[]
read(number)
A readable.read() módszer kiolvassa az adatokat a belső pufferből, és visszaadja azokat. Ha nincs elérhető olvasható adat, null visszaküldik. Alapértelmezés szerint az adat objektumként kerül vissza Buffer , hacsak nem volt kódolás a readable.setEncoding() metódus segítségével, vagy az áramfolyam objektum módban működik.
Az opcionális size érv meghatározott számú bájtszámot határoz meg az olvasásra. Ha size a bájtok nem olvashatók, null akkor visszaküldik, hacsak az folyam nem ért véget, ekkor az összes belső pufferben maradt adat visszakerül.
Ha az size érv nincs megadva, az összes belső pufferben lévő adat visszakerül.
Az érvnek size kisebb vagy egyenlőnek kell lennie, mint 1 GiB.
A readable.read() módszert csak a szünetes módban működő streameken kell meghívni Readable . Áramlási módban readable.read() automatikusan hívják, amíg a belső puffer teljesen le nem merül.
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.');
});
Minden hívás readable.read() egy adatdarabot, vagyis nullvisszaad . A darabok nincsenek összekötve. A pufferben jelenleg lévő összes adat fogyasztásához hurokra van szükség while . Egy nagy fájl .read() olvasása esetén előfordulhat, hogy nullaz eddig minden pufferelt tartalmat elfogyasztotta, de még van még több adat, amelyet még nem puffereltek. Ebben az esetben új 'readable' esemény indul, amikor több adat van a pufferben. Végül az 'end' esemény akkor fog kibocsátásra kerülni, amikor már nincs több adat.
Ezért ahhoz, hogy egy fájl teljes tartalmát olvassuk az - readableről, több eseményre történő darabokat kell gyűjteni 'readable' :
const chunks = [];
readable.on('readable', () => {
let chunk;
while (null !== (chunk = readable.read())) {
chunks.push(chunk);
}
});
readable.on('end', () => {
const content = chunks.join('');
});
Egy Readable objektum módban lévő stream mindig egyetlen elemet ad vissza egy hívásból , függetlenül readable.read(size)az size argumentus értékétől.
Ha a readable.read() módszer egy adatdarabot ad vissza, akkor egy 'data' esemény is kiemésztődik.
Az esemény kisugárzása után olvasott hívás 'end' visszatérnull. Futásidőben nem fog hiba felmerülni.
function read(size?: number): any
Paraméterek
- size
-
number
Opcionális érv annak meghatározására, hogy mennyi adatot kell olvasni.
Válaszok
any
reduce<T>((previous: any, data: any, options?: Abortable) => T)
Ez a módszer sorrendben hívja meg a fn-t az áramfolyam minden egyes részén, és továbbítja neki az előző elem számításának eredményét. Ígéretet ad a redukció végső értékére.
Ha nem adunk ki kezdeti értéket, akkor az adatfolyam első darabját használják kiindulóként.
Ha az áramlat üres, az ígéret a TypeErrorERR_INVALID_ARGS kód tulajdonsággal együtt elutasítódik.
A reduktorfüggvény elemenként iterálja az áramlatot, ami azt jelenti, hogy nincs egyidejű paraméter vagy párhuzamosság. A redukció egyidejű végrehajtásához az aszinkron függvényt kihúzhatod a readable.map metódushoz.
function reduce<T>(fn: (previous: any, data: any, options?: Abortable) => T): Promise<T>
Paraméterek
- fn
-
(previous: any, data: any, options?: Abortable) => T
egy redukáló függvény, amely minden darabot áthív a folyamban. Aszinkron vagy sem.
Válaszok
Promise<T>
ígéret a redukció végső értékére.
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>
Paraméterek
- fn
-
(previous: T, data: any, options?: Abortable) => T
- initial
-
T
- options
-
Abortable
Válaszok
Promise<T>
removeAllListeners(string | symbol)
function removeAllListeners(eventName?: string | symbol): Readable
Paraméterek
- eventName
-
string | symbol
Válaszok
removeAllListeners<E>(E)
removeListener(string | symbol, (args: any[]) => void)
function removeListener(eventName: string | symbol, listener: (args: any[]) => void): Readable
Paraméterek
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Válaszok
removeListener<E>(E, (args: ReadableEventMap[E]) => void)
function removeListener<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): Readable
Paraméterek
- eventName
-
E
- listener
-
(args: ReadableEventMap[E]) => void
Válaszok
resume()
A readable.resume() módszer egy explicit szünetelt Readable folyamot indít újra, hogy az emitációs 'data' események folytassa, így az áramlat áramlási módba vált.
A readable.resume() módszer felhasználható arra, hogy teljes mértékben felhasználja az adatfolyamot anélkül, hogy tényleges feldolgozná ezeket az adatokat:
getReadableStreamSomehow()
.resume()
.on('end', () => {
console.log('Reached the end, but did not read anything.');
});
A readable.resume() módszernek nincs hatása, ha van eseményhallgató 'readable' .
function resume(): Readable
Válaszok
setEncoding(BufferEncoding)
A readable.setEncoding() módszer beállítja a karakterkódolást az adatfolyamból olvasott Readable adatokhoz.
Alapértelmezés szerint nem rendelnek hozzá kódolást, és az adatfolyam adatai objektumként Buffer kerülnek vissza. Kódolás beállítása miatt az adatfolyam adatai a megadott kódolás stringjeiként térnek vissza, nem objektumként Buffer . Például a hívás readable.setEncoding('utf8') esetén a kimeneti adatokat UTF-8 adatként értelmezik, és stringként továbbítják. A hívás readable.setEncoding('hex') esetén az adat hexadecimális string formátumban kódolódik.
Az Readable áramlat megfelelően kezeli a többbájtos karaktereket, amelyeket az áramlaton keresztül továbbítanak, és egyébként rosszul dekódolnának, ha csak objektumként húznák ki őket.Buffer
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): Readable
Paraméterek
- encoding
-
BufferEncoding
A használni kívánt kódolás.
Válaszok
some((data: any, options?: Abortable) => boolean | Promise<boolean>, Pick<ReadableOperatorOptions, "signal" | "concurrency">)
Ez a módszer hasonló és Array.prototype.somefn-t hív minden darabra a folyamban, amíg a várt visszatérés értéke (vagy bármely igazságos érték) nem lesz true (vagy bármely igazságos érték). Ha egy fn hívás egy chunk awaited visszatérési értéken igaz, a stream megsemmisül, és az ígéret teljesül .true
Ha a fn hívások egyike sem ad igazságos értéket, az ígéret teljesít .false
function some(fn: (data: any, options?: Abortable) => boolean | Promise<boolean>, options?: Pick<ReadableOperatorOptions, "signal" | "concurrency">): Promise<boolean>
Paraméterek
- fn
-
(data: any, options?: Abortable) => boolean | Promise<boolean>
egy függvény, amely az adatfolyam minden egyes részét megidézi. Aszinkron vagy sem.
- options
-
Pick<ReadableOperatorOptions, "signal" | "concurrency">
Válaszok
Promise<boolean>
Egy ígéret, amely értékeli, true hogy az FN legalább az egyik darab értékét adta-e vissza.
take(number, Abortable)
Ez a módszer egy új adatfolyamot ad vissza az első limit chunkokkal.
function take(limit: number, options?: Abortable): Readable
Paraméterek
- limit
-
number
hány darabot kell kivenni az olvashatóból.
- options
-
Abortable
Válaszok
egy stream, ahol limit részeket vesznek.
toArray(Abortable)
Ez a módszer lehetővé teszi, hogy könnyen megszerezzék egy folyam tartalmát.
Mivel ez a módszer az egész streamet olvassa be a memóriába, semlegesíti az áramlatok előnyeit. Ez az interoperabilitásra és a kényelmi megoldásra van szánva, nem pedig az elsődleges módnak a streamek fogyasztásának.
function toArray(options?: Abortable): Promise<any[]>
Paraméterek
- options
-
Abortable
Válaszok
Promise<any[]>
egy ígéret, amely tartalmaz egy tömböt az áramlat tartalmával.
toWeb(ReadableStream, ReadableToWebOptions)
Egy hasznos módszer egy webet ReadableStream létrehozni egy Readable.
static function toWeb(streamReadable: ReadableStream, options?: ReadableToWebOptions): ReadableStream<any>
Paraméterek
- streamReadable
-
ReadableStream
- options
-
ReadableToWebOptions
Válaszok
ReadableStream<any>
unpipe(WritableStream)
A readable.unpipe() módszer leválasztja a Writable korábban csatlakoztatott víz vízvezeték-módszert.
Ha destination nincs megadva, akkor minden cső leválik.
Ha destination meg van határozva, de nincs beállítva cső rá, akkor a módszer semmit sem csinál.
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): Readable
Paraméterek
- destination
-
WritableStream
Opcionálisan specifikus áram a kihúzható
Válaszok
unshift(any, BufferEncoding)
Jelként továbbítva chunknull az áramlat végét (EOF), és úgy viselkedik, mint readable.push(null), utána több adat nem írható ki. Az EOF jelet a puffer végén helyezzük, és a pufferelt adatok továbbra is elöblíthetők.
A readable.unshift() módszer egy adattömböt visszatol a belső pufferbe. Ez hasznos bizonyos helyzetekben, amikor egy streamet a kód fogyaszt el, amelynek "vissza kell vennie" egy bizonyos mennyiségű adatot, amit optimistán kihúzott a forrásból, hogy az adatokat továbbadhassák egy másik félnek.
A stream.unshift(chunk) metódus nem hívható meg az esemény kibocsátása 'end' után, különben futási hiba keletkezik.
A gyakran használó fejlesztőknek stream.unshift() érdemes inkább áttérni a Transform stream használatára. További információért lásd a API for stream implementers szakaszt.
// 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;
}
}
}
Ellentétben a push-tal, stream.unshift(chunk) nem szűnd meg az olvasási folyamatot azzal, hogy visszaállítja a stream belső olvasási állapotát.
Ez váratlan eredményeket okozhat, ha readable.unshift() olvasás közben hívják (azaz egy _read implementáción belül, egy egyedi streamen). A hívás readable.unshift() után azonnali push-olással megfelelően visszaállítod az olvasási állapotot, azonban a legjobb egyszerűen elkerülni a hívást readable.unshift() olvasás közben.
function unshift(chunk: any, encoding?: BufferEncoding)
Paraméterek
- chunk
-
any
Egy adatdarab, amit vissza kell kapcsolni az olvasási sorba. Objektum módban nem működő streamek esetén chunk {string}, {Buffer}, {TypedArray}, {DataView} vagy null. Objektummód folyamok chunk esetén bármilyen JavaScript érték lehet.
- encoding
-
BufferEncoding
A string chunkok kódolása. Érvényes Buffer kódolásnak kell lennie, például 'utf8' vagy 'ascii'.
wrap(ReadableStream)
Node.js 0.10 előtt a streamek nem valósították meg a teljes node:stream modul API-t, ahogy azt jelenleg definiálják. (További információért lásd Compatibility a segítséget.)
Ha egy régebbi Node.js könyvtárat használunk, amely eseményeket bocsát 'data' ki és csak tanácsadó szünetet használ, akkor readable.wrap() a módszer olyan Readable streamet hozhat létre, amely a régi streamet használja adatforrásként.
Ritkán lesz szükség a használatára readable.wrap() , de a módszert kényelmes módon szolgálták a régebbi Node.js alkalmazások és könyvtárak közötti interakcióhoz.
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): Readable
Paraméterek
- stream
-
ReadableStream
Egy "régi stílusú" olvasható stream
Válaszok
[asyncIterator]()
function [asyncIterator](): AsyncIterator<any, undefined, any>
Válaszok
AsyncIterator<any, undefined, any>
AsyncIterator hogy teljesen elfogyasztsák a patakot.
Örökölt metódus részletei
eventNames()
Egy tömböt ad vissza, amely felsorolja azokat az eseményeket, amelyekhez az emitter regisztrált figyelőket.
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)[]
Válaszok
(string | symbol)[]
Örökölt Stream.eventNames
getMaxListeners()
A EventEmitter aktuális maximális figyelőértékét adja vissza, amelyet emitter.setMaxListeners(n) vagy alapértelmezés szerint events.defaultMaxListenersértékre állít be.
function getMaxListeners(): number
Válaszok
number
Örökölt Stream.getMaxListeners
pipe<T>(T, PipeOptions)
function pipe<T>(destination: T, options?: PipeOptions): T
Paraméterek
- destination
-
T
- options
-
PipeOptions
Válaszok
T
Örökölt Stream.pipe
setMaxListeners(number)
Alapértelmezés szerint EventEmitters figyelmeztetést jelenít meg, ha egy adott eseményhez több mint 10 figyelő van hozzáadva. Ez egy hasznos alapértelmezett beállítás, amely segít megtalálni a memóriavesztést. A emitter.setMaxListeners() metódus lehetővé teszi a korlát módosítását ehhez az adott EventEmitter példányhoz. Az érték beállítható Infinity (vagy 0) értékre, hogy korlátlan számú figyelőt jelöljön.
A EventEmittermutató hivatkozást ad vissza, hogy a hívások láncoltak legyenek.
function setMaxListeners(n: number): Readable
Paraméterek
- n
-
number
Válaszok
Örökölt Stream.setMaxListeners
[captureRejectionSymbol](Error, string | symbol, any[])
A Symbol.for('nodejs.rejection') módszert akkor hívják el, ha ígéretelutasítás történik esemény kibocsátásakor, és captureRejections az emitterben engedélyezett.
Lehetséges a events.captureRejectionSymbolSymbol.for('nodejs.rejection')helyett használni.
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[])
Paraméterek
- error
-
Error
- event
-
string | symbol
- args
-
any[]
Örökölt Stream.__@captureRejectionSymbol@175