【发布时间】:2017-01-09 21:01:38
【问题描述】:
考虑下面的代码、输入文件和结果。 setTimeout 在这里模仿外部调用,例如 http get。保持结果有序的最佳/简单方法是什么?明显增加的延迟和不并发运行是可以的。 rl.pause() 和 rl.resume() 不起作用,可能是因为它正在暂停下划线输入流,或者我在这里遗漏了什么?
'use strict';
let rl = require('readline').createInterface({
input: require('fs').createReadStream('inputFile')
});
rl.on('line', line => {
rl.pause();
setTimeout(_ => {
console.log(line);
rl.resume();
}, Math.random() * 2000);
});
输入文件:
1
2
3
4
5
6
7
8
9
10
11
12
结果:
10
6
1
11
3
7
8
9
12
2
5
4
【问题讨论】:
标签: javascript node.js