node stream流

发布时间:2026/8/30 17:03:32
node stream流 流Stream是数据的有序序列数据像水流一样逐步处理而不是一次性加载到内存。读取大文件数据时逐块读取内存几乎不涨边读边传高效且安全一 四种流类型Readable、Writable、Duplex、TransformReadable可读流fs.createReadStream()Writable可写流fs.createWritesStream()Duplex双工流TCP Sockettransform转换流处理并处理数据 zlib.createGzip()二 可读流const fs require(fs) const readable fs.createReadStream(large-file.txt) readable.on(data, (chunk){ //一些处理 }) readable.on(end, ()console.log(读取完毕)) readable.on(error, (err)console.error(err)) readable.pause(); readable.resume();三 管道(pipe)将可读流的数据导入可写流const fs require(fs) const readable fs.createReadStream(input.txt) const writable fs.createWriteStream(output.txt) readable.pipe(writable)四 背压当写入速度跟不上读取速度时需要暂时读取readable.on(data, (chunk) { const canContinue writable.write(chunk); if(!canContinue) { readable.pause(); //暂停读取 writable.once(drain, (){ readable.resume(); //可写流恢复后再继续读 }) } })