【发布时间】:2021-09-11 03:38:50
【问题描述】:
我正在使用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`);
}
});
【问题讨论】:
标签: javascript node.js command-line-interface prompt inquirerjs