从控制台Node js读取用户输入N次



我试图从用户输入到节点js的控制台有限次数,并在每个输入上运行一个函数。While或for循环不起作用

帮忙吗?

下面是我的代码(稍微简化):

function foo(num)
{
console.log(num)
}
function ReadUseInput()
{
const readline = require('readline').createInterface({
input: process.stdin,
output: process.stdout
}); 
readline.question('Enter number...', num => 
{
foo(num)
readline.close();
});
}
//for (var i = 0; i < 10; i++)// this line isnt working - shows warning: MaxListenersExceededWarning: Possible EventEmitter memory leak detected
ReadUseInput()

一种解决方案是使ReadUseInput()函数取一个数字并递减以重复一定次数:

function foo(num) {
console.log(num)
}
function ReadUseInput(timesLeft) {
// exit condition
if(timesLeft <= 0) {
return;
}
const readline = require('readline').createInterface({
input: process.stdin,
output: process.stdout
}); 
readline.question('Enter number...', num => {
foo(num)
readline.close();
ReadUseInput(--timesLeft);
});
}
ReadUseInput(10);

最新更新