📜  Node.js Stream readable.read() 方法(1)

📅  最后修改于: 2023-12-03 15:33:09.974000             🧑  作者: Mango

Node.js Stream readable.read() 方法

在 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 模式。