可写入之前的可读开始读取是否发出“可写”?
比方说,我们想要读入一个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了类似的问题,并找不到任何。 悲伤的脸。
谢谢!