Javascript Node.js可读的self.push()在工作15次迭代后停止

Javascript Node.js可读的self.push()在工作15次迭代后停止,javascript,node.js,stream,readable,Javascript,Node.js,Stream,Readable,我试图理解为什么Readable=require('stream')。在这段代码中,Readable在node.js上只能工作15次。我省略了这一行X.on('data',function(){console.log('data')})这行代码无限重复,这是正确的 start.js therm.js node start.js只输出15次迭代 Start Therm getTemperatureReadingFromThermometer :7.98 self.push(temperature)

我试图理解为什么
Readable=require('stream')。在这段代码中,Readable
在node.js上只能工作15次。我省略了这一行
X.on('data',function(){console.log('data')})这行代码无限重复,这是正确的

start.js

therm.js

node start.js只输出15次迭代

Start Therm
getTemperatureReadingFromThermometer :7.98
self.push(temperature) :  0
getTemperatureReadingFromThermometer :18.46
self.push(temperature) :  1
getTemperatureReadingFromThermometer :13.27
self.push(temperature) :  2
getTemperatureReadingFromThermometer :1.6
self.push(temperature) :  3
getTemperatureReadingFromThermometer :18.08
self.push(temperature) :  4
getTemperatureReadingFromThermometer :2.08
self.push(temperature) :  5
getTemperatureReadingFromThermometer :10.91
self.push(temperature) :  6
getTemperatureReadingFromThermometer :13
self.push(temperature) :  7
getTemperatureReadingFromThermometer :9.98
self.push(temperature) :  8
getTemperatureReadingFromThermometer :14.4
self.push(temperature) :  9
getTemperatureReadingFromThermometer :6.69
self.push(temperature) :  10
getTemperatureReadingFromThermometer :12.14
self.push(temperature) :  11
getTemperatureReadingFromThermometer :3.65
self.push(temperature) :  12
getTemperatureReadingFromThermometer :13.54
self.push(temperature) :  13
getTemperatureReadingFromThermometer :16.59
self.push(temperature) :  14
getTemperatureReadingFromThermometer :1.69
self.push(temperature) :  15

任何提示都将不胜感激

我终于找到了这个难题的答案

 var X = new thermom({highWaterMark: 500 }); 
将在这个队列中为您提供500个项目的缓冲区,同样,5的highWaterMark将把迭代减少到只有5个。其文档记录在node.js中

Start Therm
getTemperatureReadingFromThermometer :7.98
self.push(temperature) :  0
getTemperatureReadingFromThermometer :18.46
self.push(temperature) :  1
getTemperatureReadingFromThermometer :13.27
self.push(temperature) :  2
getTemperatureReadingFromThermometer :1.6
self.push(temperature) :  3
getTemperatureReadingFromThermometer :18.08
self.push(temperature) :  4
getTemperatureReadingFromThermometer :2.08
self.push(temperature) :  5
getTemperatureReadingFromThermometer :10.91
self.push(temperature) :  6
getTemperatureReadingFromThermometer :13
self.push(temperature) :  7
getTemperatureReadingFromThermometer :9.98
self.push(temperature) :  8
getTemperatureReadingFromThermometer :14.4
self.push(temperature) :  9
getTemperatureReadingFromThermometer :6.69
self.push(temperature) :  10
getTemperatureReadingFromThermometer :12.14
self.push(temperature) :  11
getTemperatureReadingFromThermometer :3.65
self.push(temperature) :  12
getTemperatureReadingFromThermometer :13.54
self.push(temperature) :  13
getTemperatureReadingFromThermometer :16.59
self.push(temperature) :  14
getTemperatureReadingFromThermometer :1.69
self.push(temperature) :  15
 var X = new thermom({highWaterMark: 500 });