readableStream.pipeThrough(transform[, options])
添加于:v16.5.0
参数
transform
<Object>readable
<ReadableStream>transform.writable
将向其推送可能修改的数据的ReadableStream
是从此ReadableStream
接收的。writable
<WritableStream>WritableStream
将写入此ReadableStream
的数据。
options
<Object>preventAbort
<boolean> 当true
时,此ReadableStream
中的错误不会导致transform.writable
中止。preventCancel
<boolean> 当true
时,目标transform.writable
中的错误不会导致此ReadableStream
被取消。preventClose
<boolean> 当true
时,关闭此ReadableStream
不会导致transform.writable
被关闭。signal
<AbortSignal> 允许使用 <AbortController> 取消数据传输。
- 返回: <ReadableStream> 来自
transform.readable
。
将此 <ReadableStream> 连接到 transform
参数中提供的 <ReadableStream> 和 <WritableStream> 对,以便将来自此 <ReadableStream> 的数据写入 transform.writable
,可能进行转换,然后推送到 transform.readable
。配置管道后,将返回 transform.readable
。
当管道操作处于活动状态时,导致 readableStream.locked
为 true
。
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);
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); })();
相关用法
- Node.js ReadableStream.getReader([options])用法及代码示例
- Node.js ReadableStream.values([options])用法及代码示例
- Node.js ReadableStreamBYOBReader用法及代码示例
- Node.js Readable Stream data事件用法及代码示例
- Node.js Readable Stream pause事件用法及代码示例
- Node.js Readable Stream readable事件用法及代码示例
- Node.js Readable Stream close事件用法及代码示例
- Node.js Readable Stream error事件用法及代码示例
- Node.js Readable Stream end事件用法及代码示例
- Node.js Readable Stream resume事件用法及代码示例
- Node.js ReferenceError用法及代码示例
- Node.js REPLServer.defineCommand(keyword, cmd)用法及代码示例
- Node.js RangeError用法及代码示例
- Node.js REPLServer用法及代码示例
- Node.js ServerHttp2Stream http2stream.pushStream(headers[, options], callback)用法及代码示例
- Node.js http2.Http2ServerRequest request.url用法及代码示例
- Node.js request.socket用法及代码示例
- Node.js assert.notEqual(actual, expected[, message])用法及代码示例
- Node.js tlsSocket.authorized用法及代码示例
- Node.js zlib.deflateRaw()用法及代码示例
- Node.js http.IncomingMessage message.rawHeaders用法及代码示例
- Node.js Console用法及代码示例
- Node.js GM transparent()用法及代码示例
- Node.js URL.protocol用法及代码示例
- Node.js http.Agent.reuseSocket(socket, request)用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 ReadableStream.pipeThrough(transform[, options])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。