行为是否在预期的下面描述?
为什么在可读回调中的stream.read()之后触发了第二个可读事件?
stream.Readable发出两次可读的内容
如果我将侦听器设置为可读,则可读事件在stream.read()之后再次触发
node version 5.12,windows 10
1.如果我在创建流后立即读取,我会得到null
stream = fs.createReadStream(inFile);
result = stream.read();
2.如果我在200毫秒后读取,则读取成功,不会发出进一步的可读事件
stream = fs.createReadStream(inFile);
function _main() {
result = stream.read();
}
setTimeout(_main, delay);
3.如果我在可读事件的回调中读取,则读取成功,但会发出第二个可读事件
stream = fs.createReadStream(inFile);
stream.on('readable', () => {
result = stream.read()
});
GIT Repo完整的工作示例