可写入之前的可读开始读取是否发出“可写”?

比方说,我们想要读入一个1GB的file upload到networking端点。 唯一的问题是,在进行networking上传请求之前,我们必须做出另一个networking请求来获得一个令牌,以允许上传通过。

所以,如果有人的代码看起来像…

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

…我应该担心数据缓冲在内存之前,我的writestream说已经准备好(获取令牌之后)?

我发现一个fs.createReadStream可读有64kb的highWaterMark 。 这是否意味着最大的缓冲区内限制是64kb,在更多的数据被吸出可读性之前?

在我调用this.emit('writable') (或者其他一些触发器)之后,数据是否会被读取 (超出highWaterMark)? 编辑:也许触发器只是调用_write收到的第一个电话的callback?

我很新的streamapi,所以帮助表示赞赏。 我search了类似的问题,并找不到任何。 悲伤的脸。

谢谢!