readableStream.pipeThrough(transform[, options])
-
transform<Object>-
readable<ReadableStream>transform.writable将从ReadableStream接收到的可能修改的数据推送到ReadableStream。¥
readable<ReadableStream> TheReadableStreamto whichtransform.writablewill push the potentially modified data it receives from thisReadableStream. -
writable<WritableStream>ReadableStream的数据将写入的WritableStream。¥
writable<WritableStream> TheWritableStreamto which thisReadableStream's data will be written.
-
-
options<Object>-
preventAbort<boolean> 当true时,此ReadableStream中的错误不会导致transform.writable中止。¥
preventAbort<boolean> Whentrue, errors in thisReadableStreamwill not causetransform.writableto be aborted. -
preventCancel<boolean> 当true时,目标transform.writable中的错误不会导致此ReadableStream被取消。¥
preventCancel<boolean> Whentrue, errors in the destinationtransform.writabledo not cause thisReadableStreamto be canceled. -
preventClose<boolean>true时,关闭这个ReadableStream不会导致transform.writable关闭。¥
preventClose<boolean> Whentrue, closing thisReadableStreamdoes not causetransform.writableto 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: Aconst {
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
})();