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
相关产品推荐
相关产品推荐

