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