我正在尝试制作该程序,以便程序反复接受输入,并将其重复执行一次,直到输入“ exit”为止。现在循环无法运行,而且由于退出变量设置为false,所以我也不知道为什么。这是我的代码:
var read = require("read");
var exit = false;
function OutsideLoop (exit) {
while(exit === false){
read({prompt: "> "}, function (err, result) {
console.log("");
console.log(result);
console.log("Type in more input or type 'exit' to close the program.");
if(result === "exit"){
exit = true;};
});
};
};
OutsideLoop();
感谢您的帮助。我有一个类似的循环使用if / then而不是while,所以我用相同的方式重写了这一循环。
最佳答案
您已经将“ exit”声明为函数的参数,因此外部声明对函数内部的逻辑没有影响。调用该函数时,您不会传递任何内容,因此“ exit”为undefined
,并且===
测试失败。
如果您将“ exit”传递给函数,或者从函数声明中删除参数,它将起作用—也许。该“读取”功能是异步的,因此我不确定节点的行为方式。
关于javascript - 为什么这个JavaScript while循环在 Node 中不运行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19848372/