當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。