当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js Readable Stream end事件用法及代码示例


当可读流中没有可供使用的数据时,将发出可读流中的 ‘end’ 事件。如果数据没有被完全消耗,则不会发出 ‘end’ 事件。这可以通过将流切换到流动模式来完成,或者通过反复调用 stream.read() 方法直到所有数据都被消耗完。

用法:

Event:'end'

下面的例子说明了在 Node.js 中结束事件的使用:

范例1:


// Node.js program to demonstrate the     
// readable end event
  
// Including fs module
const fs = require('fs');
  
// Constructing readable stream
const readable = fs.createReadStream("input.txt");
  
// Instructions to read data
readable.on('readable', () => {
  let chunk;
  
  // Using while loop and calling
  // read method
  while (null !== (chunk = readable.read())) {
  
    // Displaying the chunk
    console.log(`read:${chunk}`);
  }
});
  
// Handling end event
readable.on('end', () => {
  console.log('All the data is being consumed.');
});
  
console.log("Done...");

输出:



Done...
read:GeeksforGeeks
All the data is being consumed.

范例2:


// Node.js program to demonstrate the     
// readable end event
  
// Including fs module
const fs = require('fs');
  
// Constructing readable stream
const readable = fs.createReadStream("input.txt");
  
// Handling end event
readable.on('end', () => {
  console.log('All the data is being consumed.');
});
  
console.log("Done...");

输出:

Done...

在这里,所有数据都不会作为流消耗。read() 方法没有被调用,所以这里没有发出结束事件。

参考: https://nodejs.org/api/stream.html#stream_event_end




相关用法


注:本文由纯净天空筛选整理自nidhi1352singh大神的英文原创作品 Node.js | Readable Stream end Event。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。