我正在使用Inquirer.js创建一个CLI's prompter
允许users
输入/回复某些输入/问题的应用程序。在最后一个问题中,我想添加一个功能,如果对问题的回复user
,那么将重新开始提问,直到回复。我几乎可以使用该功能。no
Are you done?
prompter
user
yes
它正在工作,但仅在我第一次进入no
. 第二次输入no
时,提示器停止。
如何在循环上运行它以完成所需的行为?我做错了什么?
这是我有一些远:
import inquirer from 'inquirer';
inquirer
.prompt([
// { bunch of other questions previously },
{
type: 'confirm',
name: 'repeat_questions',
message: 'Are you done?',
},
])
.then((answers) => {
if (answers.repeat_questions) {
return inquirer.prompt([
// { bunch of other questions previously },
{
type: 'confirm',
name: 'repeat_questions',
message: 'Are you done?',
},
]);
}
})
.catch((error) => {
if (error.isTtyError) {
throw new Error(`Prompt couldn't be render in current environment`);
}
});