Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何设置可写高水位线?_Node.js - Fatal编程技术网

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不,它们不需要相等。