一旦readable事件触发,它不会再次触发,直到流到达末尾或直到您调用.read()并null返回(没有更多数据要读取)。一旦你得到null,那么当有更多数据时它会再次触发。这就是文档中的示例代码这样做的原因:const readable = getReadableStreamSomehow();readable.on('readable', function() { // There is some data to read now. let data; while (data = this.read()) { console.log(data); }});一般来说,这是使用流的一种更困难的方式。如果您在流动模式下使用它们,例如:process.stdin.on('data', (input) => { console.log(input);});然后,它只会在数据到达时给您打电话。