我正在尝试制作该程序,以便程序反复接受输入,并将其重复执行一次,直到输入“ 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/

10-14 00:06