当可读流中没有可供使用的数据时,将发出可读流中的 ‘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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。