Node.js 中的流(Stream)是一种处理数据的方式,它允许数据在生产者和消费者之间逐块传输,而不是一次性将所有数据加载到内存中。这种方式特别适合处理大量数据,因为它可以有效地节省内存资源并提高数据处理效率。
基础概念:
优势:
应用场景:
常见问题及解决方法:
pause()
和resume()
)。示例代码: 下面是一个简单的Node.js流示例,展示了如何使用可读流和可写流来复制文件:
const fs = require('fs');
const readableStream = fs.createReadStream('source.txt');
const writableStream = fs.createWriteStream('destination.txt');
readableStream.pipe(writableStream);
writableStream.on('finish', () => {
console.log('文件复制完成');
});
writableStream.on('error', (err) => {
console.error('写入错误:', err);
});
readableStream.on('error', (err) => {
console.error('读取错误:', err);
});
在这个示例中,我们使用fs.createReadStream()
创建一个可读流来读取源文件,使用fs.createWriteStream()
创建一个可写流来写入目标文件。然后,我们使用pipe()
方法将可读流连接到可写流,从而实现数据的自动传输。最后,我们监听finish
和error
事件来处理完成和错误情况。
领取专属 10元无门槛券
手把手带您无忧上云