Javascript 使用readline读取两个字符串

Javascript 使用readline读取两个字符串,javascript,node.js,Javascript,Node.js,我很难理解如何使用NodeJS的readline库为Kattis挑战读取两个不同的字符串 请参见,在中有以下示例: const readline=require('readline'); const rl=readline.createInterface({ 输入:process.stdin, 输出:process.stdout }); rl.on('行',(行)=>{ var nums=行分割(“”); var a=parseInt(nums[0]); var b=parseInt(nums[

我很难理解如何使用NodeJS的readline库为Kattis挑战读取两个不同的字符串

请参见,在中有以下示例:

const readline=require('readline');
const rl=readline.createInterface({
输入:process.stdin,
输出:process.stdout
});
rl.on('行',(行)=>{
var nums=行分割(“”);
var a=parseInt(nums[0]);
var b=parseInt(nums[1]);
/*解决测试用例并输出答案*/
});
我需要读取两个字符串,然后操纵它们。我已经试过做:

const readline=require('readline');
var string1='';
var string2='';
const rl=readline.createInterface({
输入:process.stdin,
输出:process.stdout
});
rl.on('行',(行)=>{
var string1=直线;
});
rl.on('行',(行)=>{
var string2=直线;
});
//操纵字符串。。。
甚至:

const readline=require('readline');
var string1='';
var string2='';
const rl=readline.createInterface({
输入:process.stdin,
输出:process.stdout
});
rl.问题(“”,(答案)=>{
var string1=答案;
});
rl.问题(“”,(行)=>{
var string2=答案;
});
//操纵字符串。。。

但我一直收到一个运行时错误。我到底做错了什么?

由于在异步作用域中分配变量(在
rl.on('line')、..
rl.question(..
)的回调中),所以出现了运行时错误并尝试稍后同步访问它。我建议在继续此挑战之前阅读异步JavaScript,或任何可能涉及它的JS脚本。此外,尽管它不会产生错误,但使用
var
重新声明变量的样式非常糟糕,降低了可读性,就像在
var中一样tring1=answer;
-起初我以为您在一个范围内声明变量,并试图在另一个范围内使用它。