无法读取未定义节点 js 的属性"符号(按键解码器)"



我是第一次研究STDI/O。我添加两个数字以将总和打印到 STDOUT。从 STDIN 读取输入。输入的第一行将包含一个整数 (N(,用于告知输入中还有多少行。后续 N 行中的每一行都包含 2 个整数(。并将每对的总和打印在单独的 STDOUT 行上。

const readline=require('readline');
const readlinInterface=readline.createInterface(process.stdio,process.stdout);
addNumber();


async function addNumber(){
let length=await inputValue("please enter the value for N numbers to be added");
let sum = await addValue(length);
console.log("sum",sum)
}

async function addValue(length){
let num,sum;
let i;
for( let i=0;i<length;i++){
num[i]=await inputValue("Enter num");
sum+=num[i];
}
return sum;
}
function inputValue(text){
return new Promise((resolve,reject)=>{
readlinInterface.question(text,resolve)
});
}

我不确定运行节点添加时出了什么问题.js错误被抛出为 ** 无法读取未定义的属性"符号(按键解码器("** 它指向这里

readline.js:1047
if (stream[KEYPRESS_DECODER]) return;

我被困了两天,任何人都可以帮忙。任何帮助,不胜感激。

更新:

const readline=require('readline');
const readlineInterface = readline.createInterface({
input: process.stdin,
output: process.stdout
});   
function add (){
readlineInterface.on('line',(val)=>{console.log("reading",val)
});
}
readlineInterface.on('line',(numberLength)=>{console.log(numberLength)
let i=numberLength;
let sum;
while(i){
console.log("i",i)
// add();
readlineInterface.on('line',async (val)=>{ console.log("reading1",val) });
readlineInterface.on('line',async (val)=>{ console.log("reading2",val) });
i--;
}
});

但不起作用

请检查创建接口函数的使用情况

实际上,NodeJS尝试从"input"属性中获取输入流,但什么也没找到,然后尝试使用该流(未定义(

const readlineInterface = readline.createInterface({
input: process.stdin,
output: process.stdout
});

但是没有"数据"事件。请查看文档

可能,您需要"行"事件

相关内容

最新更新