📅  最后修改于: 2023-12-03 15:33:09.974000             🧑  作者: Mango
在 Node.js 中,读取数据流是一种常见的模式。为此,它提供了一个称为 readable.read()
的方法,用于从可读流中读取数据。
readable.read([size])
方法从可读流中读取指定大小的数据。如果没有指定 size
,则该方法返回所有可用的数据。
以下是使用示例:
const fs = require('fs');
const readable = fs.createReadStream('example.txt');
// 读取 10 个字节的数据
let chunk = readable.read(10);
console.log(chunk);
该方法返回一个缓冲区对象。如果没有可读数据,则会返回 null
。
readable
对象会发出以下事件:
'readable'
:当存在新数据时触发。'data'
:当流中有新数据可用时触发。'end'
:当没有更多数据可读取时触发。'error'
:当发生错误时触发。以下是使用示例:
const fs = require('fs');
const readable = fs.createReadStream('example.txt');
readable.on('readable', () => {
let chunk;
while ((chunk = readable.read()) !== null) {
console.log(`Received ${chunk.length} bytes of data!`);
}
});
readable.on('end', () => {
console.log('End of stream reached!');
});
readable.on('error', (err) => {
console.error(`Error occurred: ${err}`);
});
readable.read()
是一个方便的方法,可以从 Node.js 可读流中读取数据。了解这个方法是读写数据流时的一个重要步骤。通过使用它,您可以实现更加灵活和高效的 I/O 模式。