You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NodeJS中如何使用cloneable-readable在克隆流上绑定data事件

使用cloneable-readable实现可读流克隆的方案

安装依赖

执行以下命令安装合规许可的cloneable-readable包:
npm install cloneable-readable

替换后的实现代码

const fs = require('fs')
const cloneable = require('cloneable-readable')

// 原始读取流创建逻辑保持不变
const readStream = fs.createReadStream('smallTextFile.txt', { highWaterMark: 5 })
// 先将原始流包装为可克隆实例
const baseCloneableStream = cloneable(readStream)

// 生成两个独立的克隆流
const readStream1 = baseCloneableStream.clone()
const readStream2 = baseCloneableStream.clone()

// 后续消费逻辑和原有代码完全一致
readStream1.on('data', (chunk) => {
  console.log('1', chunk.toString())
})

readStream2.on('data', (chunk) => {
  console.log('2', chunk.toString())
})

效果验证

上述代码运行后的输出结果和你之前使用readable-stream-clone的输出完全一致,两个克隆流会按相同的分片规则拿到完整的文件数据,满足功能要求。

内容的提问来源于stack exchange,提问作者Mayank Patel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 14:48:00