Node.js 如何设置可写高水位线?
我在Node.js 如何设置可写高水位线?,node.js,Node.js,我在options中找到了设置高水位线的选项: fs.createReadStream(路径[,选项]) 但找不到的highwatermark选项 那么在创建可写流时如何设置它呢?即使它没有在fs.createWriteStream上记录,也可以选择:highWaterMark fs.createWriteStream('out', { highWaterMark: 32000 }); console.log(stream._writableState.highWaterMark); // 3
options
中找到了设置高水位线的选项:
fs.createReadStream(路径[,选项])
但找不到的highwatermark选项
那么在创建可写流时如何设置它呢?即使它没有在
fs.createWriteStream
上记录,也可以选择:highWaterMark
fs.createWriteStream('out', { highWaterMark: 32000 });
console.log(stream._writableState.highWaterMark); // 32000
要实际测试它是否工作:
const lowHWStream = fs.createWriteStream('low', { highWaterMark: 1 });
const highHWStream = fs.createWriteStream('high', { highWaterMark: 32000 });
console.log(lowHWStream.write('a')); // false
console.log(highHWStream.write('a')); // true
如果内部缓冲区小于
允许后创建流时配置的highWaterMark
大块如果返回false,则进一步尝试将数据写入
流应停止,直到发出“排放”事件
,您可以看到传递到
createWriteStream
的选项被传递到stream.writeable
谢谢。我们发现nodejs文档没有指出这一点。有人知道可读的
和可写的
流(即提供者和消费者)是否需要具有相等的高水印
值吗?@user1063287不,它们不需要相等。