使用while循环问题的Javascript迭代

时间:2016-03-17 04:24:43

标签: javascript node.js

我正在尝试创建一个循环,我可以继续提示自己的问题,而不是退出循环,直到我输入1.但它现在不工作,任何建议?

var prompt = require('prompt');             //require to use prompt
var sync = require('sync');                //require to use synchronous function

var choice = 0;

sync(function()
{
while(choice != 1)
{
    if(choice == 0)
    {

        prompt.start();

        prompt.get(['message'], function(err, result)
        {
            if (err)
            {
                return onErr(err);
            }
            data(result.message);
            choice = result.message;
        });

    }
    else if (choice == 1)
    {
        break;
    }
}
});

1 个答案:

答案 0 :(得分:1)

经典循环不能很好地处理异步代码。你需要另一种方法:

var prompt = require('prompt');

prompt.start();

function read() {
    prompt.get(['message'], function(err, result) {
        if (err) {
            return onErr(err);
        }
        console.log(result.message);
        if (result.message != 1) {
            read();
        }
    });
}

read();