readableStream.pipeThrough(transform[, options])
-
transform
<Object>-
readable
<ReadableStream>transform.writable
将从ReadableStream
接收到的可能修改的数据推送到ReadableStream
。¥
readable
<ReadableStream> TheReadableStream
to whichtransform.writable
will push the potentially modified data it receives from thisReadableStream
. -
writable
<WritableStream>ReadableStream
的数据将写入的WritableStream
。¥
writable
<WritableStream> TheWritableStream
to which thisReadableStream
's data will be written.
-
-
options
<Object>-
preventAbort
<boolean> 当true
时,此ReadableStream
中的错误不会导致transform.writable
中止。¥
preventAbort
<boolean> Whentrue
, errors in thisReadableStream
will not causetransform.writable
to be aborted. -
preventCancel
<boolean> 当true
时,目标transform.writable
中的错误不会导致此ReadableStream
被取消。¥
preventCancel
<boolean> Whentrue
, errors in the destinationtransform.writable
do not cause thisReadableStream
to be canceled. -
preventClose
<boolean>true
时,关闭这个ReadableStream
不会导致transform.writable
关闭。¥
preventClose
<boolean> Whentrue
, closing thisReadableStream
does not causetransform.writable
to be closed. -
signal
<AbortSignal> 允许使用 <AbortController> 取消数据传输。¥
signal
<AbortSignal> Allows the transfer of data to be canceled using an <AbortController>.
-
-
返回:<ReadableStream> 来自
transform.readable
。¥Returns: <ReadableStream> From
transform.readable
.
将此 <ReadableStream> 连接到 transform
参数中提供的一对 <ReadableStream> 和 <WritableStream>,以便将来自此 <ReadableStream> 的数据写入 transform.writable
,可能进行转换,然后推送到 transform.readable
。配置管道后,将返回 transform.readable
。
¥Connects this <ReadableStream> to the pair of <ReadableStream> and
<WritableStream> provided in the transform
argument such that the
data from this <ReadableStream> is written in to transform.writable
,
possibly transformed, then pushed to transform.readable
. Once the
pipeline is configured, transform.readable
is returned.
当管道操作处于活动状态时,使 readableStream.locked
变为 true
。
¥Causes the readableStream.locked
to be true
while the pipe operation
is active.
import {
ReadableStream,
TransformStream,
} from 'node:stream/web';
const stream = new ReadableStream({
start(controller) {
controller.enqueue('a');
},
});
const transform = new TransformStream({
transform(chunk, controller) {
controller.enqueue(chunk.toUpperCase());
},
});
const transformedStream = stream.pipeThrough(transform);
for await (const chunk of transformedStream)
console.log(chunk);
// Prints: A
const {
ReadableStream,
TransformStream,
} = require('node:stream/web');
const stream = new ReadableStream({
start(controller) {
controller.enqueue('a');
},
});
const transform = new TransformStream({
transform(chunk, controller) {
controller.enqueue(chunk.toUpperCase());
},
});
const transformedStream = stream.pipeThrough(transform);
(async () => {
for await (const chunk of transformedStream)
console.log(chunk);
// Prints: A
})();