【问题标题】:How to clone a NodeJS stream?如何克隆 NodeJS 流?
【发布时间】:2021-11-01 14:12:56
【问题描述】:

我需要在 nodeJS 中以某种方式克隆 readstream。 也就是说,如果我有一个readStream,我需要它的两个副本stream1、stream2。我可以分别读取stream1stream2 流。 我怎么能做到这一点,据我所知,即使我尝试将原始 readStream 管道传输到 stream1stream2 我也无法单独使用它们中的每一个

【问题讨论】:

  • 查看节点 js 文档:npmjs.com/package/readable-stream-clone
  • 您的具体用例是什么?您可以通过管道传输到多个地方,但无论如何都会存在流量控制问题。
  • 我需要检查 readSteam 中数据的编码。我正在使用检测字符编码模块进行操作。但这需要我从 readStream 中读取块以了解其编码,如果我尝试读取块,我将丢失代码稍后需要的数据(块)

标签: javascript node.js chunks node-streams


【解决方案1】:

我在 npmjs 包文档中找到了这个文档

const fs = require("fs");
const ReadableStreamClone = require("readable-stream-clone");

const readStream = fs.createReadStream('text.txt');

const readStream1 = new ReadableStreamClone(readStream);
const readStream2 = new ReadableStreamClone(readStream);

const writeStream1 = fs.createWriteStream('sample1.txt');
const writeStream2 = fs.createWriteStream('sample2.txt');

readStream1.pipe(writeStream1)
readStream2.pipe(writeStream2)

试试这行代码可能对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-08
    • 2019-05-17
    • 2014-08-19
    • 2010-10-17
    • 2021-10-11
    • 1970-01-01
    相关资源
    最近更新 更多