Readable class
- Extends
-
Stream
속성
| closed |
|
| destroyed |
|
| errored | 스트림이 오류가 발생하면 오류를 반환합니다. |
| readable | 는 |
| readable |
스트림이 방출되기 전에 |
| readable |
방출되었는지 여부 |
| readable |
주어진 |
| readable |
이벤트가 방출될 때 |
| readable |
이 특성은 세 가지 상태 섹션에서 설명된 하천의 |
| readable |
이 를 |
| readable |
이 속성은 읽을 준비가 된 큐 내 바이트(또는 객체)의 수를 포함합니다. 이 값 |
| readable |
주어진 |
메서드
| add |
|
| add |
|
| compose(Writable |
이 방법은 또한 a 제공을 허용 자세한 내용은 |
| destroy(Error) | 스트림을 삭제합니다. 선택적으로 이벤트를 방출 한 번 호출되면 구현자는 이 메서드를 덮어쓰지 말고 대신 를 구현 |
| drop(number, Abortable) | 이 메서드는 처음부터 첫 번째 제한 청크가 삭제된 새로운 스트림을 반환합니다. |
| emit(string | symbol, any[]) | |
| emit<E>(E, Readable |
|
| every((data: any, options?: Abortable) => boolean | Promise<boolean>, Pick<Readable |
이 방법은 스트림 내 각 청크에서 fn을 호출하여 기다리는 반환값이 fn에 대해 진실한지 확인하는 것과 유사 |
| filter((data: any, options?: Abortable) => boolean | Promise<boolean>, Readable |
이 방법은 스트림을 필터링할 수 있게 해줍니다. 스트림의 각 청크마다 fn 함수가 호출되고, 만약 truey 값을 반환하면 그 청크가 결과 스트림에 전달됩니다.
fn 함수가 약속을 반환하면 그 약속은 ed가 됩니다 |
| find((data: any, options?: Abortable) => boolean | Promise<boolean>, Pick<Readable |
|
| find<T>((data: any, options?: Abortable) => data, Pick<Readable |
이 방법은 스트림 내 각 청크에서 fn을 호출하여 fn에 대해 진리값이 있는 청크를 찾는 것과 유사 |
| flat |
이 방법은 각 청크에 주어진 콜백을 적용한 후 결과를 평탄화하여 새로운 스트림을 반환합니다. fn에서 스트림이나 다른 반복 가능하거나 비동기 반복 가능한 스트림을 반환할 수 있으며, 결과 스트림은 반환된 스트림에 병합(평탄화)됩니다. |
| for |
이 방법은 스트림을 반복할 수 있게 해줍니다. 스트림의 각 청크마다 fn 함수가 호출됩니다.
fn 함수가 약속을 반환하면 그 약속은 ed가 됩니다 이 방법은 선택적으로 청크를 동시에 처리할 수 있다는 점에서 루프와 이 방법은 이벤트 수신 |
| from(Iterable<any> | Async |
반복자에서 읽을 수 있는 스트림을 생성하는 유틸리티 방법. |
| from |
웹 |
| is |
스트림이 읽혔는지 취소되었는지 반환합니다. |
| is |
이 메서드는
|
| iterator(Readable |
이 방법으로 생성된 반복자는 루프가 |
| listener |
|
| listener |
|
| listeners(string | symbol) | |
| listeners<E>(E) | |
| map((data: any, options?: Abortable) => any, Readable |
이 방법은 스트림 전체에 매핑할 수 있게 해줍니다. 스트림의 모든 청크마다 fn 함수가 호출됩니다.
fn 함수가 약속을 반환하면, 그 약속은 결과 스트림에 전달되기 전에 ed 처리됩니다 |
| 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() | 이
|
| prepend |
|
| prepend |
|
| prepend |
|
| prepend |
|
| push(any, Buffer |
|
| raw |
|
| raw |
|
| read(number) | 이 메서드는 선택적 인자가 지정되지 않으면
이 메서드는
각 호출 따라서 파일의 전체 내용을
객체 모드의 스트림은 메서드가 이벤트가 |
| reduce<T>((previous: any, data: any, options?: Abortable) => T) | 이 메서드는 스트림의 각 청크에 대해 fn 을 순서대로 호출하여 이전 요소에 대한 계산 결과를 전달합니다. 이 방법은 축소의 최종 값에 대한 약속을 반환합니다.
초기 값이 제공되지 않으면 스트림의 첫 번째 청크가 초기 값으로 사용됩니다.
스트림이 비어 있으면, 코드의 속성을 가진 리듀서 함수는 스트림을 요소별로 반복하여 동 시 성 매개변수나 병렬성이 없습니다. 동시 감소를 수행하려면 메서드에 |
| reduce<T>((previous: T, data: any, options?: Abortable) => T, T, Abortable) | |
| remove |
|
| remove |
|
| remove |
|
| remove |
|
| resume() | 이 이
|
| set |
이 메서드는 기본적으로 인코딩은 할당되지 않으며 스트림 데이터는 객체로 스트림은
|
| some((data: any, options?: Abortable) => boolean | Promise<boolean>, Pick<Readable |
이 방법은 스트림 내 각 청크에서 fn을 호출하여 기다리는 반환값(또는 진리 값)이 될 |
| take(number, Abortable) | 이 방법은 첫 번째 제한 청크를 가진 새로운 스트림을 반환합니다. |
| to |
이 방법은 스트림의 내용을 쉽게 얻을 수 있게 해줍니다. 이 방법은 전체 스트림을 메모리에 읽기 때문에 스트림의 이점을 상쇄합니다. 상호운용성과 편의성을 위해 설계된 것이지, 스트림을 소비하는 주된 방법이 아닙니다. |
| to |
. 에서 웹 |
| unpipe(Writable |
만약 이 만약 가
|
| unshift(any, Buffer |
로 이
자주 사용하는
푸시와 달리, 스트림 |
| wrap(Readable |
Node.js 0.10 이전에는 스트림즈가 현재 정의된 전체 이벤트를 이 방법은 거의 사용할 필요가
|
| [async |
상속된 메서드
| event |
이미터가 수신기를 등록한 이벤트를 나열하는 배열을 반환합니다.
|
| get |
|
| pipe<T>(T, Pipe |
|
| set |
기본적으로 호출을 연결할 수 있도록 |
| [capture |
|
생성자 세부 정보
Readable(ReadableOptions<Readable>)
속성 세부 정보
closed
true 방출된 이후 'close' 의 신호입니다.
closed: boolean
속성 값
boolean
destroyed
true 그 이후 readable.destroy() 에야 호출되었습니다.
destroyed: boolean
속성 값
boolean
errored
스트림이 오류가 발생하면 오류를 반환합니다.
errored: null | Error
속성 값
null | Error
readable
readableAborted
스트림이 방출되기 전에 'end'파괴되었거나 오류가 발생했는지 반환합니다.
readableAborted: boolean
속성 값
boolean
readableDidRead
방출되었는지 여부 'data' 에 대해 반환합니다.
readableDidRead: boolean
속성 값
boolean
readableEncoding
주어진 Readable 스트림의 속성 encoding 에 대한 게터입니다. 이 속성은 encodingsetEncoding 메서드를 사용하여 설정할 수 있습니다.
readableEncoding: null | BufferEncoding
속성 값
null | BufferEncoding
readableEnded
readableFlowing
이 특성은 세 가지 상태 섹션에서 설명된 하천의 Readable 현재 상태를 반영합니다.
readableFlowing: null | boolean
속성 값
null | boolean
readableHighWaterMark
이 를 Readable생성할 때 전달된 값을 highWaterMark 반환합니다.
readableHighWaterMark: number
속성 값
number
readableLength
이 속성은 읽을 준비가 된 큐 내 바이트(또는 객체)의 수를 포함합니다. 이 값 highWaterMark은 .
readableLength: number
속성 값
number
readableObjectMode
주어진 Readable 스트림의 속성 objectMode 에 대한 게터입니다.
readableObjectMode: boolean
속성 값
boolean
메서드 세부 정보
addListener(string | symbol, (args: any[]) => void)
function addListener(eventName: string | symbol, listener: (args: any[]) => void): Readable
매개 변수
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
반품
addListener<E>(E, (args: ReadableEventMap[E]) => void)
function addListener<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): Readable
매개 변수
- eventName
-
E
- listener
-
(args: ReadableEventMap[E]) => void
반품
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)는 stream.compose(readable, s)와 같습니다.
이 방법은 또한 a 제공을 허용 AbortSignal 하며, 이 경우 중단 시 컴포지션 스트림을 파괴합니다.
자세한 내용은 stream.compose(...streams)을 참조하세요.
function compose(stream: WritableStream | WritableStream<any> | TransformStream<any, any> | (source: any) => void, options?: Abortable): Duplex
매개 변수
- stream
-
WritableStream | WritableStream<any> | TransformStream<any, any> | (source: any) => void
- options
-
Abortable
반품
Duplex
스트림 와 함께 구성된 stream스트림 .
destroy(Error)
스트림을 삭제합니다. 선택적으로 이벤트를 방출 'error' 하고, 이벤트를 'close' 방출합니다(가 로 false설정되지 않는 한emitClose). 이 호출 후에는 읽기 가능한 스트림이 내부 자원을 해제하고 이후 호출 push() 은 무시됩니다.
한 번 호출되면 destroy() 추가 호출은 no-op이 되며, 에서 외 _destroy()'error'에는 오류 없이 로 표시됩니다.
구현자는 이 메서드를 덮어쓰지 말고 대신 를 구현 readable._destroy()해야 합니다.
function destroy(error?: Error): Readable
매개 변수
- error
-
Error
이 오류는 이벤트 시 'error' 페이로드로 전달됩니다
반품
drop(number, Abortable)
이 메서드는 처음부터 첫 번째 제한 청크가 삭제된 새로운 스트림을 반환합니다.
function drop(limit: number, options?: Abortable): Readable
매개 변수
- limit
-
number
읽을 수 있는 값에서 삭제할 수 있는 청크 수.
- options
-
Abortable
반품
처음부터 제한 청크가 떨어지는 스트림.
emit(string | symbol, any[])
function emit(eventName: string | symbol, args: any[]): boolean
매개 변수
- eventName
-
string | symbol
- args
-
any[]
반품
boolean
emit<E>(E, ReadableEventMap[E])
function emit<E>(eventName: E, args: ReadableEventMap[E]): boolean
매개 변수
- eventName
-
E
- args
-
ReadableEventMap[E]
반품
boolean
every((data: any, options?: Abortable) => boolean | Promise<boolean>, Pick<ReadableOperatorOptions, "signal" | "concurrency">)
이 방법은 스트림 내 각 청크에서 fn을 호출하여 기다리는 반환값이 fn에 대해 진실한지 확인하는 것과 유사 Array.prototype.every 합니다. 청크 awaited 반환값에 대한 fn 호출이 falsy가 되면, 스트림은 파괴되고 약속은 로 이행false됩니다.
모든 fn 호출이 청크에 대해 진리값을 반환하면, 약속은 로 true성취됩니다.
function every(fn: (data: any, options?: Abortable) => boolean | Promise<boolean>, options?: Pick<ReadableOperatorOptions, "signal" | "concurrency">): Promise<boolean>
매개 변수
- fn
-
(data: any, options?: Abortable) => boolean | Promise<boolean>
스트림의 각 청크를 호출하는 함수입니다. 비동기 동기 여부 여부.
- options
-
Pick<ReadableOperatorOptions, "signal" | "concurrency">
반품
Promise<boolean>
fn이 true 모든 청크에 대해 진 리 값을 반환하는지 평가하는 약속입니다.
filter((data: any, options?: Abortable) => boolean | Promise<boolean>, ReadableOperatorOptions)
이 방법은 스트림을 필터링할 수 있게 해줍니다. 스트림의 각 청크마다 fn 함수가 호출되고, 만약 truey 값을 반환하면 그 청크가 결과 스트림에 전달됩니다.
fn 함수가 약속을 반환하면 그 약속은 ed가 됩니다await.
function filter(fn: (data: any, options?: Abortable) => boolean | Promise<boolean>, options?: ReadableOperatorOptions): Readable
매개 변수
- fn
-
(data: any, options?: Abortable) => boolean | Promise<boolean>
스트림에서 청크를 필터링하는 함수입니다. 비동기 동기 여부 여부.
- options
-
ReadableOperatorOptions
반품
술어 fn으로 필터링된 스트림입니다.
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>
매개 변수
- fn
-
(data: any, options?: Abortable) => boolean | Promise<boolean>
- options
-
Pick<ReadableOperatorOptions, "signal" | "concurrency">
반품
Promise<any>
find<T>((data: any, options?: Abortable) => data, Pick<ReadableOperatorOptions, "signal" | "concurrency">)
이 방법은 스트림 내 각 청크에서 fn을 호출하여 fn에 대해 진리값이 있는 청크를 찾는 것과 유사 Array.prototype.find 합니다.
fn 호출의 기다리는 반환값이 진실이 되면, 스트림은 파괴되고 약속은 fn이 진실 값을 반환한 값으로 이행됩니다.
모든 fn 호출이 청크에 대해 가짜 값을 반환하면, 약속은 로 성취 undefined됩니다.
function find<T>(fn: (data: any, options?: Abortable) => data, options?: Pick<ReadableOperatorOptions, "signal" | "concurrency">): Promise<undefined | T>
매개 변수
- fn
-
(data: any, options?: Abortable) => data
스트림의 각 청크를 호출하는 함수입니다. 비동기 동기 여부 여부.
- options
-
Pick<ReadableOperatorOptions, "signal" | "concurrency">
반품
Promise<undefined | T>
fn이 진리값 undefined 으로 평가한 첫 번째 청크에 대한 약속 또는 원소가 발견되지 않았을 때를 평가합니다.
flatMap((data: any, options?: Abortable) => any, Pick<ReadableOperatorOptions, "signal" | "concurrency">)
이 방법은 각 청크에 주어진 콜백을 적용한 후 결과를 평탄화하여 새로운 스트림을 반환합니다.
fn에서 스트림이나 다른 반복 가능하거나 비동기 반복 가능한 스트림을 반환할 수 있으며, 결과 스트림은 반환된 스트림에 병합(평탄화)됩니다.
function flatMap(fn: (data: any, options?: Abortable) => any, options?: Pick<ReadableOperatorOptions, "signal" | "concurrency">): Readable
매개 변수
- fn
-
(data: any, options?: Abortable) => any
스트림의 모든 청크를 매핑하는 함수입니다. 비동기 문제일 수도 있습니다. 개울이나 발전기일 수도 있습니다.
- options
-
Pick<ReadableOperatorOptions, "signal" | "concurrency">
반품
함수 fn으로 평평하게 매핑된 스트림입니다.
forEach((data: any, options?: Abortable) => void | Promise<void>, Pick<ReadableOperatorOptions, "signal" | "concurrency">)
이 방법은 스트림을 반복할 수 있게 해줍니다. 스트림의 각 청크마다 fn 함수가 호출됩니다.
fn 함수가 약속을 반환하면 그 약속은 ed가 됩니다await.
이 방법은 선택적으로 청크를 동시에 처리할 수 있다는 점에서 루프와 for await...of 다릅니다.
또한, 반복은 forEach 옵션을 통과 signal 하고 관련된 AbortController를 중단해야 하며, for await...of 는 또는 return로 중단 break 할 수 있습니다.
어느 쪽이든 개울은 파괴될 것입니다.
이 방법은 이벤트 수신 'data' 과 달리 기본 메커니즘 내 이벤트를 사용 readable 하며 동시 fn 호출 수를 제한할 수 있습니다.
function forEach(fn: (data: any, options?: Abortable) => void | Promise<void>, options?: Pick<ReadableOperatorOptions, "signal" | "concurrency">): Promise<void>
매개 변수
- fn
-
(data: any, options?: Abortable) => void | Promise<void>
스트림의 각 청크를 호출하는 함수입니다. 비동기 동기 여부 여부.
- options
-
Pick<ReadableOperatorOptions, "signal" | "concurrency">
반품
Promise<void>
스트림이 끝나면 하는 약속이었다.
from(Iterable<any> | AsyncIterable<any>, ReadableOptions<Readable>)
반복자에서 읽을 수 있는 스트림을 생성하는 유틸리티 방법.
static function from(iterable: Iterable<any> | AsyncIterable<any>, options?: ReadableOptions<Readable>): Readable
매개 변수
- iterable
-
Iterable<any> | AsyncIterable<any>
객체가 반복 가능한 프로토콜을 Symbol.asyncIteratorSymbol.iterator 구현하는 경우입니다. null 값이 전달되면 '오류' 이벤트를 생성합니다.
- options
-
ReadableOptions<Readable>
옵션들은 제공됩니다.new stream.Readable([options]) 기본적으로 Readable.from() 는 로 설정되며, 이 부분은 명시적으로 로 설정하여 options.objectMode 옵트아웃하지 않는 한 로 설정 options.objectModetrue됩니다.false
반품
fromWeb(ReadableStream<any>, Pick<ReadableOptions<Readable>, "encoding" | "highWaterMark" | "objectMode" | "signal">)
웹ReadableStream에서 생성 Readable 하는 유틸리티 메서드 .
static function fromWeb(readableStream: ReadableStream<any>, options?: Pick<ReadableOptions<Readable>, "encoding" | "highWaterMark" | "objectMode" | "signal">): Readable
매개 변수
- readableStream
-
ReadableStream<any>
- options
-
Pick<ReadableOptions<Readable>, "encoding" | "highWaterMark" | "objectMode" | "signal">
반품
isDisturbed(ReadableStream<any> | ReadableStream)
스트림이 읽혔는지 취소되었는지 반환합니다.
static function isDisturbed(stream: ReadableStream<any> | ReadableStream): boolean
매개 변수
- stream
-
ReadableStream<any> | ReadableStream
반품
boolean
isPaused()
이 메서드는 readable.isPaused() .의 Readable현재 작동 상태를 반환합니다.
이는 주로 방법의 readable.pipe() 기초가 되는 메커니즘에서 사용됩니다.
대부분의 경우, 이 방법을 직접 사용할 이유가 없습니다.
const readable = new stream.Readable();
readable.isPaused(); // === false
readable.pause();
readable.isPaused(); // === true
readable.resume();
readable.isPaused(); // === false
function isPaused(): boolean
반품
boolean
iterator(ReadableIteratorOptions)
이 방법으로 생성된 반복자는 루프가 for await...ofreturn, break, 또는 throw반복 중 오류가 발생하면 스트림 파괴를 취소하거나, 반복 중 스트림이 오류를 발생시킨다면 스트림을 파괴할 수 있는 옵션을 제공합니다.
function iterator(options?: ReadableIteratorOptions): AsyncIterator<any, undefined, any>
매개 변수
- options
-
ReadableIteratorOptions
반품
AsyncIterator<any, undefined, any>
listenerCount(string | symbol, (args: any[]) => void)
function listenerCount(eventName: string | symbol, listener?: (args: any[]) => void): number
매개 변수
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
반품
number
listenerCount<E>(E, (args: ReadableEventMap[E]) => void)
function listenerCount<E>(eventName: E, listener?: (args: ReadableEventMap[E]) => void): number
매개 변수
- eventName
-
E
- listener
-
(args: ReadableEventMap[E]) => void
반품
number
listeners(string | symbol)
function listeners(eventName: string | symbol): (args: any[]) => void[]
매개 변수
- eventName
-
string | symbol
반품
(args: any[]) => void[]
listeners<E>(E)
function listeners<E>(eventName: E): (args: ReadableEventMap[E]) => void[]
매개 변수
- eventName
-
E
반품
(args: ReadableEventMap[E]) => void[]
map((data: any, options?: Abortable) => any, ReadableOperatorOptions)
이 방법은 스트림 전체에 매핑할 수 있게 해줍니다. 스트림의 모든 청크마다 fn 함수가 호출됩니다.
fn 함수가 약속을 반환하면, 그 약속은 결과 스트림에 전달되기 전에 ed 처리됩니다await.
function map(fn: (data: any, options?: Abortable) => any, options?: ReadableOperatorOptions): Readable
매개 변수
- fn
-
(data: any, options?: Abortable) => any
스트림의 모든 청크를 매핑하는 함수입니다. 비동기 동기 여부 여부.
- options
-
ReadableOperatorOptions
반품
함수 fn으로 매핑된 스트림입니다.
off(string | symbol, (args: any[]) => void)
function off(eventName: string | symbol, listener: (args: any[]) => void): Readable
매개 변수
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
반품
off<E>(E, (args: ReadableEventMap[E]) => void)
function off<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): Readable
매개 변수
- eventName
-
E
- listener
-
(args: ReadableEventMap[E]) => void
반품
on(string | symbol, (args: any[]) => void)
function on(eventName: string | symbol, listener: (args: any[]) => void): Readable
매개 변수
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
반품
on<E>(E, (args: ReadableEventMap[E]) => void)
function on<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): Readable
매개 변수
- eventName
-
E
- listener
-
(args: ReadableEventMap[E]) => void
반품
once(string | symbol, (args: any[]) => void)
function once(eventName: string | symbol, listener: (args: any[]) => void): Readable
매개 변수
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
반품
once<E>(E, (args: ReadableEventMap[E]) => void)
function once<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): Readable
매개 변수
- eventName
-
E
- listener
-
(args: ReadableEventMap[E]) => void
반품
pause()
이 readable.pause() 방법은 흐름 모드에 있는 스트림이 이벤트를 방출하지 않 'data' 게 하여 흐름 모드에서 벗어나게 만듭니다. 이용 가능한 모든 데이터는 내부 버퍼에 남아 있습니다.
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);
});
readable.pause() 이벤트 리스너가 'readable' 있으면 이 메서드는 효과가 없습니다.
function pause(): Readable
반품
prependListener(string | symbol, (args: any[]) => void)
function prependListener(eventName: string | symbol, listener: (args: any[]) => void): Readable
매개 변수
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
반품
prependListener<E>(E, (args: ReadableEventMap[E]) => void)
function prependListener<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): Readable
매개 변수
- eventName
-
E
- listener
-
(args: ReadableEventMap[E]) => void
반품
prependOnceListener(string | symbol, (args: any[]) => void)
function prependOnceListener(eventName: string | symbol, listener: (args: any[]) => void): Readable
매개 변수
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
반품
prependOnceListener<E>(E, (args: ReadableEventMap[E]) => void)
function prependOnceListener<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): Readable
매개 변수
- eventName
-
E
- listener
-
(args: ReadableEventMap[E]) => void
반품
push(any, BufferEncoding)
function push(chunk: any, encoding?: BufferEncoding): boolean
매개 변수
- chunk
-
any
- encoding
-
BufferEncoding
반품
boolean
rawListeners(string | symbol)
function rawListeners(eventName: string | symbol): (args: any[]) => void[]
매개 변수
- eventName
-
string | symbol
반품
(args: any[]) => void[]
rawListeners<E>(E)
function rawListeners<E>(eventName: E): (args: ReadableEventMap[E]) => void[]
매개 변수
- eventName
-
E
반품
(args: ReadableEventMap[E]) => void[]
read(number)
이 메서드는 readable.read() 내부 버퍼에서 데이터를 읽어내어 반환합니다. 읽을 수 있는 데이터가 없으면 반환 null 됩니다. 기본적으로 인코딩 readable.setEncoding() 이 지정되어 있거나 스트림이 객체 모드로 동작하지 않는 한 데이터는 객체로 Buffer 반환됩니다.
선택적 size 인자는 읽을 특정 바이트 수를 지정합니다. 읽을 수 없는 바이트는 스트림이 종료되지 않는 한 반환되며, 이 경우 내부 버퍼에 남아 있는 모든 데이터가 반환됩니다. nullsize
인자가 지정되지 않으면 size 내부 버퍼에 포함된 모든 데이터가 반환됩니다.
size 인수는 1 GiB 이하여야 합니다.
이 메서드는 readable.read() 일시정지 모드로 동작하는 스트림에서만 Readable 호출되어야 합니다. 플로잉 모드 readable.read() 에서는 내부 버퍼가 완전히 배수될 때까지 자동으로 호출됩니다.
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.');
});
각 호출 readable.read() 은 데이터 덩어리, 즉 null를 반환합니다. 청크들은 연결되어 있지 않습니다. 현재 버퍼에 있는 모든 데이터를 소비하려면 루프가 while 필요합니다. 큰 파일을 .read() 읽으면 지금까지 버퍼된 모든 내용을 소모한 후 로 반환 null될 수 있지만, 아직 버퍼링되지 않은 데이터가 더 남아 있습니다. 이 경우 버퍼에 더 많은 데이터가 있을 때 새로운 'readable' 이벤트가 발생한다. 마지막으로 'end' 더 이상 데이터가 없을 때 이벤트가 방출됩니다.
따라서 파일의 전체 내용을 readable읽으려면 여러 'readable' 이벤트에 걸쳐 청크를 수집해야 합니다:
const chunks = [];
readable.on('readable', () => {
let chunk;
while (null !== (chunk = readable.read())) {
chunks.push(chunk);
}
});
readable.on('end', () => {
const content = chunks.join('');
});
객체 모드의 스트림은 Readable 인수의 값 size 과 상관없이 에 대한 readable.read(size)호출에서 항상 단일 항목을 반환합니다.
메서드가 readable.read() 데이터 'data' 덩어리를 반환하면 이벤트도 함께 발생하게 됩니다.
이벤트가 'end' 발신한 후 읽음을 호출하면 다시 돌아null옵니다. 런타임 오류는 발생하지 않습니다.
function read(size?: number): any
매개 변수
- size
-
number
읽어야 할 데이터 양을 지정하는 선택적 인수.
반품
any
reduce<T>((previous: any, data: any, options?: Abortable) => T)
이 메서드는 스트림의 각 청크에 대해 fn 을 순서대로 호출하여 이전 요소에 대한 계산 결과를 전달합니다. 이 방법은 축소의 최종 값에 대한 약속을 반환합니다.
초기 값이 제공되지 않으면 스트림의 첫 번째 청크가 초기 값으로 사용됩니다.
스트림이 비어 있으면, 코드의 속성을 가진 ERR_INVALID_ARGS a로 TypeError 약속을 거부합니다.
리듀서 함수는 스트림을 요소별로 반복하여 동 시 성 매개변수나 병렬성이 없습니다. 동시 감소를 수행하려면 메서드에 readable.map 비동기 함수를 추출할 수 있습니다.
function reduce<T>(fn: (previous: any, data: any, options?: Abortable) => T): Promise<T>
매개 변수
- fn
-
(previous: any, data: any, options?: Abortable) => T
스트림의 모든 청크를 호출하는 리듀서 함수입니다. 비동기 동기 여부 여부.
반품
Promise<T>
감축의 최종 가치에 대한 약속입니다.
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>
매개 변수
- fn
-
(previous: T, data: any, options?: Abortable) => T
- initial
-
T
- options
-
Abortable
반품
Promise<T>
removeAllListeners(string | symbol)
function removeAllListeners(eventName?: string | symbol): Readable
매개 변수
- eventName
-
string | symbol
반품
removeAllListeners<E>(E)
removeListener(string | symbol, (args: any[]) => void)
function removeListener(eventName: string | symbol, listener: (args: any[]) => void): Readable
매개 변수
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
반품
removeListener<E>(E, (args: ReadableEventMap[E]) => void)
function removeListener<E>(eventName: E, listener: (args: ReadableEventMap[E]) => void): Readable
매개 변수
- eventName
-
E
- listener
-
(args: ReadableEventMap[E]) => void
반품
resume()
이 readable.resume() 방법은 명시적으로 일시정지된 Readable 스트림이 이벤트를 다시 방출 'data' 하게 하여 스트림을 흐름 모드로 전환하게 합니다.
이 readable.resume() 방법은 실제로 데이터를 처리하지 않고도 스트림의 데이터를 완전히 소비할 수 있습니다:
getReadableStreamSomehow()
.resume()
.on('end', () => {
console.log('Reached the end, but did not read anything.');
});
readable.resume() 이벤트 리스너가 'readable' 있으면 이 메서드는 효과가 없습니다.
function resume(): Readable
반품
setEncoding(BufferEncoding)
이 메서드는 readable.setEncoding() 스트림에서 Readable 읽는 데이터의 문자 인코딩을 설정합니다.
기본적으로 인코딩은 할당되지 않으며 스트림 데이터는 객체로 Buffer 반환됩니다. 인코딩을 설정하면 스트림 데이터가 객체가 아닌 Buffer 지정된 인코딩의 문자열로 반환됩니다. 예를 들어, 호출 readable.setEncoding('utf8') 하면 출력 데이터가 UTF-8 데이터로 해석되어 문자열로 전달됩니다. 호출하면 readable.setEncoding('hex') 데이터가 16진수 문자열 형식으로 인코딩됩니다.
스트림은 Readable 단순히 객체로 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
매개 변수
- encoding
-
BufferEncoding
사용할 인코딩입니다.
반품
some((data: any, options?: Abortable) => boolean | Promise<boolean>, Pick<ReadableOperatorOptions, "signal" | "concurrency">)
이 방법은 스트림 내 각 청크에서 fn을 호출하여 기다리는 반환값(또는 진리 값)이 될 true 때까지 호출하는 것과 유사 Array.prototype.some 합니다. 청크 awaited 반환값에 대한 fn 호출이 진리가 되면, 스트림은 파괴되고 약속은 로 이루어집니다.true
만약 청크에 대한 fn 호출이 진리값(truthy value)을 반환하지 않으면, 약속은 로 충족 false됩니다.
function some(fn: (data: any, options?: Abortable) => boolean | Promise<boolean>, options?: Pick<ReadableOperatorOptions, "signal" | "concurrency">): Promise<boolean>
매개 변수
- fn
-
(data: any, options?: Abortable) => boolean | Promise<boolean>
스트림의 각 청크를 호출하는 함수입니다. 비동기 동기 여부 여부.
- options
-
Pick<ReadableOperatorOptions, "signal" | "concurrency">
반품
Promise<boolean>
fn이 적어도 한 청크에 대해 진실값을 반환하는지 평가하는 true 약속입니다.
take(number, Abortable)
이 방법은 첫 번째 제한 청크를 가진 새로운 스트림을 반환합니다.
function take(limit: number, options?: Abortable): Readable
매개 변수
- limit
-
number
읽을 수 있는 것에서 추출할 청크 수.
- options
-
Abortable
반품
제한 청크가 포함된 스트림.
toArray(Abortable)
이 방법은 스트림의 내용을 쉽게 얻을 수 있게 해줍니다.
이 방법은 전체 스트림을 메모리에 읽기 때문에 스트림의 이점을 상쇄합니다. 상호운용성과 편의성을 위해 설계된 것이지, 스트림을 소비하는 주된 방법이 아닙니다.
function toArray(options?: Abortable): Promise<any[]>
매개 변수
- options
-
Abortable
반품
Promise<any[]>
스트림의 내용을 포함하는 배열을 포함하는 약속입니다.
toWeb(ReadableStream, ReadableToWebOptions)
. 에서 웹 ReadableStreamReadable을 생성하는 유틸리티 방법
static function toWeb(streamReadable: ReadableStream, options?: ReadableToWebOptions): ReadableStream<any>
매개 변수
- streamReadable
-
ReadableStream
- options
-
ReadableToWebOptions
반품
ReadableStream<any>
unpipe(WritableStream)
readable.unpipe() 이 방법은 파이프 방식으로 이전에 부착된 물줄기를 분리하는 Writable 방식입니다.
만약 이 destination 명시되지 않으면 모든 파이프가 분리됩니다.
만약 가 destination 지정되었지만 파이프가 설정되어 있지 않으면, 메서드는 아무런 동작을 하지 않습니다.
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
매개 변수
- destination
-
WritableStream
언파이프할 특정 스트림 선택
반품
unshift(any, BufferEncoding)
로 null 패스하면 chunk 스트림의 끝(EOF)을 알리고, 와 동일readable.push(null)하게 동작하며, 그 이후에는 더 이상 데이터를 쓸 수 없습니다. EOF 신호는 버퍼 끝에 배치되며, 버퍼된 데이터는 여전히 플러싱됩니다.
이 readable.unshift() 방법은 데이터 덩어리를 내부 버퍼로 다시 밀어냅니다. 이는 스트림이 소스에서 낙관적으로 가져온 데이터를 "소모 해제"해야 하는 특정 상황에서 유용합니다.
stream.unshift(chunk) 이벤트가 'end' 발생한 후에는 메서드를 호출할 수 없으며, 그렇지 않으면 런타임 오류가 발생합니다.
자주 사용하는 stream.unshift() 개발자들은 스트림 사용 Transform 으로 전환하는 것을 고려해야 합니다. 자세한 내용은 섹션을 API for stream implementers 참조하세요.
// 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;
}
}
}
푸시와 달리, 스트림 stream.unshift(chunk) 의 내부 읽기 상태를 초기화하여 읽기 과정을 종료하지 않습니다.
이는 읽기 중(즉, _read 구현 내 사용자 지정 스트림에서) 호출될 경우 readable.unshift() 예상치 못한 결과를 초래할 수 있습니다. 호출 readable.unshift() 후 즉시 푸시 를 하면 읽기 상태가 적절히 초기화되지만, 읽기 수행 중에는 호출을 피 readable.unshift() 하는 것이 가장 좋습니다.
function unshift(chunk: any, encoding?: BufferEncoding)
매개 변수
- chunk
-
any
데이터 덩어리를 읽기 대기열로 옮기는 것. 객체 모드에서 동작하지 않는 스트림의 경우, chunk {string}, {Buffer}, {TypedArray}, {DataView} 또는 null. 객체 모드 스트림의 경우, 는 chunk 어떤 자바스크립트 값이든 될 수 있습니다.
- encoding
-
BufferEncoding
문자열 청크의 인코딩. 또는 와 같이 'utf8''ascii'유효 Buffer 한 인코딩이어야 합니다.
wrap(ReadableStream)
Node.js 0.10 이전에는 스트림즈가 현재 정의된 전체 node:stream 모듈 API를 구현하지 않았습니다. (자세한 내용은 참고하세요 Compatibility .)
이벤트를 'data' 방출하고 일 시정지 메서드가 자문 전용 메서드인 오래된 Node.js 라이브러리를 사용할 때, 이 readable.wrap() 메서드를 사용해 기존 스트림을 데이터 소스로 사용하는 스트림을 Readable 생성할 수 있습니다.
이 방법은 거의 사용할 필요가 readable.wrap() 없지만, 오래된 Node.js 애플리케이션 및 라이브러리와의 상호작용을 편리하게 하기 위해 제공되었습니다.
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
매개 변수
- stream
-
ReadableStream
"구식" 읽기 쉬운 스트림
반품
[asyncIterator]()
function [asyncIterator](): AsyncIterator<any, undefined, any>
반품
AsyncIterator<any, undefined, any>
AsyncIterator 스트림을 완전히 소비하는 것.
상속된 메서드 세부 정보
eventNames()
이미터가 수신기를 등록한 이벤트를 나열하는 배열을 반환합니다.
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)[]
반품
(string | symbol)[]
상속된 곳 Stream.eventNames(스트림.eventNames)
getMaxListeners()
EventEmitter 설정되거나 emitter.setMaxListeners(n)기본값인 events.defaultMaxListeners 대한 현재 최대 수신기 값을 반환합니다.
function getMaxListeners(): number
반품
number
상속된 곳 Stream.getMaxListeners
pipe<T>(T, PipeOptions)
function pipe<T>(destination: T, options?: PipeOptions): T
매개 변수
- destination
-
T
- options
-
PipeOptions
반품
T
상속된 곳 스트림.파이프
setMaxListeners(number)
기본적으로 EventEmitter특정 이벤트에 대해 10 개 이상의 수신기가 추가되면 경고를 출력합니다. 이는 메모리 누수 찾기에 도움이 되는 유용한 기본값입니다.
emitter.setMaxListeners() 메서드를 사용하면 이 특정 EventEmitter 인스턴스에 대한 제한을 수정할 수 있습니다. 값을 Infinity(또는 0)로 설정하여 무제한 수신기를 나타낼 수 있습니다.
호출을 연결할 수 있도록 EventEmitter대한 참조를 반환합니다.
function setMaxListeners(n: number): Readable
매개 변수
- n
-
number
반품
상속된 곳 Stream.setMaxListeners
[captureRejectionSymbol](Error, string | symbol, any[])
Symbol.for('nodejs.rejection') 이 메서드는 이벤트를 방출할 때 약속 거부가 발생할 때 호출되며, captureRejections 이미터에서 활성화됩니다.
를 대신events.captureRejectionSymbol해 사용할 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[])
매개 변수
- error
-
Error
- event
-
string | symbol
- args
-
any[]
상속된 곳 Stream.__@captureRejectionSymbol@175