{site_name}

{site_name}

🌜 搜索

Node.js Stream(流)是一种处理流式数据的抽象接口,可以将数据分成小

编程 𝄐 0
node.js node red,node.js node-sass,node.js node-xlsx,node.js node_modules
Node.js Stream(流)是一种处理流式数据的抽象接口,可以将数据分成小块逐个读取或写入,从而节省内存占用并提高性能。Node.js中的很多模块都实现了Stream API,例如HTTP请求、文件操作和进程标准输入输出等。

Stream有四种类型,分别是Readable(可读)、Writable(可写)、Duplex(双工)和Transform(转换)。其中,Readable和Writable是最基本的两种类型,Duplex和Transform则是它们的组合形式。

下面是一个简单的例子,演示如何使用文件读取流和文件写入流来实现文件复制:

javascript
const fs = require('fs');

// 创建可读流
const readableStream = fs.createReadStream('input.txt');

// 创建可写流
const writableStream = fs.createWriteStream('output.txt');

// 当读取到数据时触发data事件
readableStream.on('data', (chunk) => {
// 将读取到的数据写入可写流
writableStream.write(chunk);
});

// 数据读取完成后触发end事件
readableStream.on('end', () => {
// 关闭可写流
writableStream.end();
});

console.log('文件复制完成');


在上面的例子中,我们首先创建了一个可读流和一个可写流,然后监听可读流的data事件,每次读取到数据时将其写入可写流。当数据读取完成后,触发end事件并关闭可写流。最后输出文件复制完成的提示信息。

使用Stream API可以处理大量的数据,而不会导致内存溢出或阻塞。因此,在需要处理大量数据的场景下,Stream是一种非常有效的数据处理方式。