fs.createReadStream - 限制一次传输的数据量

fs.createReadStream - limit the amount of data streamed at a time

如果我一次只想读取 10 个字节,或者一次读取一行数据(寻找换行符),是否可以像这样传递 fs.createReadStream() 选项

  var options = {}

  var stream = fs.createReadStream('file.txt', options);

以便我可以限制一次传输的数据量? 查看 fs 文档,我没有看到任何允许我这样做的选项,即使我猜这是可能的。

https://nodejs.org/api/fs.html#fs_fs_createreadstream_path_options

您可以使用 .read():

var stream = fs.createReadStream('file.txt', options);
var byteSize = 10;

stream.on("readable", function() {
    var chunk;
    while ( (chunk = stream.read(byteSize)) ) {
        console.log(chunk.length);
    }
});

highWaterMark 选项相比,了解此选项的主要好处是您可以在尚未创建的流上调用它。

Here are the docs