stream.Duplex.from(src)
src<Stream> | <Blob> | <ArrayBuffer> | <string> | <Iterable> | <AsyncIterable> | <AsyncGeneratorFunction> | <AsyncFunction> | <Promise> | <Object> | <ReadableStream> | <WritableStream>
用于创建双工流的实用方法。
¥A utility method for creating duplex streams.
-
Stream将可写流转换为可写的Duplex,将可读流转换为Duplex。¥
Streamconverts writable stream into writableDuplexand readable stream toDuplex. -
Blob转换为可读的Duplex。¥
Blobconverts into readableDuplex. -
string转换为可读的Duplex。¥
stringconverts into readableDuplex. -
ArrayBuffer转换为可读的Duplex。¥
ArrayBufferconverts into readableDuplex. -
AsyncIterable转换为可读的Duplex。无法生成null。¥
AsyncIterableconverts into a readableDuplex. Cannot yieldnull. -
AsyncGeneratorFunction转换为可读/可写的转换Duplex。必须将源AsyncIterable作为第一个参数。无法生成null。¥
AsyncGeneratorFunctionconverts into a readable/writable transformDuplex. Must take a sourceAsyncIterableas first parameter. Cannot yieldnull. -
AsyncFunction转换为可写的Duplex。必须返回null或undefined¥
AsyncFunctionconverts into a writableDuplex. Must return eithernullorundefined -
Object ({ writable, readable })将readable和writable转换为Stream,然后将它们组合成Duplex,其中Duplex将写入writable并从readable读取。¥
Object ({ writable, readable })convertsreadableandwritableintoStreamand then combines them intoDuplexwhere theDuplexwill write to thewritableand read from thereadable. -
Promise转换为可读的Duplex。忽略值null。¥
Promiseconverts into readableDuplex. Valuenullis ignored. -
ReadableStream转换为可读的Duplex。¥
ReadableStreamconverts into readableDuplex. -
WritableStream转换为可写的Duplex。¥
WritableStreamconverts into writableDuplex. -
¥Returns: <stream.Duplex>
如果将包含 promise 的 Iterable 对象作为参数传递,可能会导致未处理的拒绝。
¥If an Iterable object containing promises is passed as an argument,
it might result in unhandled rejection.
const { Duplex } = require('node:stream');
Duplex.from([
new Promise((resolve) => setTimeout(resolve('1'), 1500)),
new Promise((_, reject) => setTimeout(reject(new Error('2')), 1000)), // Unhandled rejection
]);