从控制台节点js读取用户输入N次
read user input N times from console node js
我正在尝试从用户到节点 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);
我正在尝试从用户到节点 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);