【发布时间】:2014-09-12 03:44:54
【问题描述】:
我希望下面的代码创建一个 Readline 接口,该接口具有来自具有约 1000 个 URL 列表的文件的可读流,从输入流开始流式传输(将一行记录到控制台),然后暂停:
var readline = require('readline');
var fs = require('fs');
var rlinterface = readline.createInterface({
input: fs.createReadStream('urls.txt'),
output: null,
terminal: false
});
rlinterface.on('pause', function() {
console.log('Readline paused.');
});
rlinterface.on('line', function(line){
console.log(line);
rlinterface.pause();
});
pause 事件的侦听器通知我应该暂停流,但来自输入流的文件中的所有行都记录到控制台,这表明流从未暂停。即使流没有在第一行之后立即暂停(可能需要几行额外的行是captured in a buffer),我也不希望输入流中文件中的所有行都在“暂停”之前流式传输'。那到底是怎么回事?
【问题讨论】:
-
您是否尝试过直接暂停输入流以查看行为是否相同?
-
我确实尝试过——同样的行为。
-
文件大小是多少?
-
输入文件非常小,17 kB。