我正在尝试创建一个循环,我可以继续提示自己的问题,而不是退出循环,直到我输入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;
}
}
});
答案 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();