好,所以我一直在为项目工作流和用户输入开发控制台输入系统。我感到沮丧,因为似乎没有实际答案解决这个简单的问题。目前,我编写了一些简单的模块来处理用户输入,但是问题是当我抛出一个检查答案时,它将与读取的输入并行执行。这是提示布尔问题的模块:
exports.bool = function(question){
ret = null;
answer = ['y','n']
inquery.question(`> ${question} [${answer}] `, (out) => {
ret = out;
inquery.close();
});
if (ret == 'y')
return true;
else
return false;
}
然后这是我要询问他们如何设置的部分:
async function main(){
themes = rw.listFiles('./gp-content/gp-themes');
config = './gp-config.json';
answer = await inquery.bool('Setup new environment?');
console.log(answer);
if (answer)
initiate();
else
buildPages();
}
&执行时,我期望:
设置新环境? [y,n] y 是
但是我得到了
设置新环境? [y,n]错误 y
很抱歉,如果这是一个重复的问题,但是没有一个直接的答案。因此,我感谢您对更好地了解Async的任何新方法或反馈。另外,我试图避免使用超时,因为它似乎已经过时了。