在可写入之前可读的开始阅读是否可写"?

时间:2014-08-18 03:00:54

标签: node.js stream

假设我们想要读取1GB文件以上传到网络端点。唯一的问题是,在发出网络上传请求之前,我们必须发出另一个网络请求来获取令牌以允许上传。

所以,如果某人的代码看起来像......

fs.createReadStream('1-gb-file').pipe(myWritableStream);

...在我的写入流已准备就绪(获取令牌之后)之前,我是否应该担心内存中的数据缓冲?

我发现fs.createReadStream可读的highWaterMark为64kb。这是否意味着在将更多数据从可读的数据中吸出之前,最大缓冲区限制为64kb?

只有在我调用this.emit('writable')(或其他一些触发器)之后,数据才会从可读的读取(超出highWaterMark)开始吗?编辑:也许触发器只是调用_write收到的第一个调用回调?

我对流api很新,所以请帮助。我一直在寻找类似的问题,而且找不到任何问题。悲伤的脸。

谢谢!

0 个答案:

没有答案