當可讀流中沒有可供使用的數據時,將發出可讀流中的 ‘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
相關用法
- Node.js Readable Stream readable事件用法及代碼示例
- node.js Stream readable.readable用法及代碼示例
- Node.js Readable Stream data事件用法及代碼示例
- Node.js Readable Stream close事件用法及代碼示例
- Node.js Readable Stream resume事件用法及代碼示例
- Node.js Readable Stream pause事件用法及代碼示例
- Node.js Readable Stream error事件用法及代碼示例
- node.js Stream readable.pause()用法及代碼示例
- node.js Stream readable.isPaused()用法及代碼示例
- node.js Stream readable.destroyed用法及代碼示例
- node.js Stream readable.destroy()用法及代碼示例
- node.js Stream readable.read()用法及代碼示例
- node.js Stream readable.readableEncoding用法及代碼示例
- node.js Stream readable.readableEnded用法及代碼示例
- node.js Stream readable.readableFlowing用法及代碼示例
- node.js Stream readable.readableHighWaterMark用法及代碼示例
- node.js Stream readable.readableLength用法及代碼示例
- node.js Stream readable.readableObjectMode用法及代碼示例
- node.js Stream readable.pipe()用法及代碼示例
- node.js Stream readable.unpipe()用法及代碼示例
- node.js Stream readable.setEncoding()用法及代碼示例
- node.js Stream readable.resume()用法及代碼示例
- node.js Stream readable.unshift()用法及代碼示例
注:本文由純淨天空篩選整理自nidhi1352singh大神的英文原創作品 Node.js | Readable Stream end Event。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。