以下のコード、入力ファイル、および結果を考慮してください。 setTimeoutは、http getなどの外部呼び出しを模倣するためのものです。結果を順番に保つ最も簡単な方法は何ですか?明白に追加された待ち時間と同時に実行されていないことは大丈夫です。 rl.pause()とrl.resume()は、下線の入力ストリームを一時停止しているか、おそらくここで何かが見つからないため、このトリックはしません。実際にreadlineを一時停止する方法はありますか?
'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);
});
で、inputFile:
1
2
3
4
5
6
7
8
9
10
11
12
結果:
10
6
1
11
3
7
8
9
12
2
5
4
他の言葉:いいえ。ありがとうございます。 – niry
@niryかなり - はい。 –