我想知道如果有一個簡單的方法來獲得「同步」的ReadLine或至少得到同步I/O的node.js的外觀如何在nodejs中使用async獲得同步readline或「模擬」它?
我用這樣的事情,但它是相當尷尬
var readline = require('readline');
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
terminal: false
});
var i = 0;
var s1 = '';
var s2 = '';
rl.on('line', function(line){
if(i==0) { s1 = line; }
else if(i==1) { s2 = line; }
i++;
})
rl.on('close', function() {
//do something with lines
})'
取而代之的是,如果它是爲像
var s1 = getline(); // or "await getline()?"
var s2 = getline(); // or "await getline()?"
有用條件容易,我寧願:
(一)不想使用外部模塊或/ dev /標準輸入輸出文件句柄,我提交代碼的代碼提交網站,這些都不在那裏工作
(B)可以使用異步/坐等或發電機
(c)應可以基於行的
(d)不應該要求閱讀整個標準輸入到內存中處理
可能重複之前閱讀整個標準輸入[node.js:readSync從stdin?](http://stackoverflow.com/questions/3430939/node-js-readsync-from-stdin) – supersam654
@ supersam654我添加了一些額外的條件去重複。我的條件是允許使用getline類型函數使用readline接口以乾淨的「同步」方式讀取(單個)行,或者使用「async/await」函數來模擬此行。 –