我不太明白节点在异步和循环方面到底是如何工作的。
我想在这里实现的是让控制台打印出来“Command:“并等待用户的输入。但在等待时我希望它运行”一些随机函数()”无休止地直到用户在终端上输入“exit”。
感谢所有的帮助 - 以及可能的解释,以便我能理解!
谢谢你! :)
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question("Command: ", function(answer) {
if (answer == "exit"){
rl.close();
} else {
// If not "exit", How do I recall the function again?
}
});
someRandomFunction();
我建议像这样使函数可重复。
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
var waitForUserInput = function() {
rl.question("Command: ", function(answer) {
if (answer == "exit"){
rl.close();
} else {
waitForUserInput();
}
});
}
然后打电话
waitForUserInput();
someRandomFunction();
我不确定您使用的 .question 语法是否正确,这部分代码是否有效?
您也可以按照以下方式编写。
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
function waitForUserInput() {
rl.question("Command: ", function(answer) {
if (answer == "exit"){
rl.close();
} else {
waitForUserInput();
}
});
}
这里重要的教训是,要重用一个函数,它必须被命名并在范围内可用。如果您对此还有任何疑问,请询问。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)