【发布时间】:2014-01-24 19:37:45
【问题描述】:
考虑下面的代码......我试图在阅读前 5 行后暂停流:
var fs = require('fs');
var readline = require('readline');
var stream = require('stream');
var numlines = 0;
var instream = fs.createReadStream("myfile.json");
var outstream = new stream;
var readStream = readline.createInterface(instream, outstream);
readStream.on('line', function(line){
numlines++;
console.log("Read " + numlines + " lines");
if (numlines >= 5) {
console.log("Pausing stream");
readStream.pause();
}
});
输出(下一个复制)表明它在暂停后继续读取行。也许 readline 已经在缓冲区中排队了几行,并且无论如何都将它们提供给我......如果它继续在后台异步读取,这将是有意义的,但根据文档,我不知道是什么应有的行为。关于如何达到预期效果有什么建议吗?
Read 1 lines
Read 2 lines
Read 3 lines
Read 4 lines
Read 5 lines
Pausing stream
Read 6 lines
Pausing stream
Read 7 lines
【问题讨论】:
标签: node.js