在循环内使用查询器 js 不等待用户输入
Using inquirer js inside a loop is not waiting for user input
我有一系列更改要应用到数据库,对于每个更改我都需要用户确认。因此,我使用 inquirer js
询问用户是否要应用这些更改。
我在循环外试过并且可以工作,但如果我在循环内做它就不行。它显示了问题,但循环继续不让用户回答是或否。我正在查看 SO 和互联网,但我找不到任何这样的示例或代码,amb 尝试什么是可能的?
这是我的代码:
changes.map(change => {
inquirer.prompt([{
name: "operate",
type: "confirm",
message: `Updatade database with ${change.description}?`,
}, ])
.then((operate) => {
if (operate.replace) {
green(
`Database has been updated`
);
} else {
red(
`Database hs not been updated`
);
}
});}
也尝试过 async/await
,但我遇到了同样的问题。
我发现了问题。在循环中,我创建了所有具有相同名称的提示,因此没有结果。更改后现在可以完美运行了。
我有一系列更改要应用到数据库,对于每个更改我都需要用户确认。因此,我使用 inquirer js
询问用户是否要应用这些更改。
我在循环外试过并且可以工作,但如果我在循环内做它就不行。它显示了问题,但循环继续不让用户回答是或否。我正在查看 SO 和互联网,但我找不到任何这样的示例或代码,amb 尝试什么是可能的?
这是我的代码:
changes.map(change => {
inquirer.prompt([{
name: "operate",
type: "confirm",
message: `Updatade database with ${change.description}?`,
}, ])
.then((operate) => {
if (operate.replace) {
green(
`Database has been updated`
);
} else {
red(
`Database hs not been updated`
);
}
});}
也尝试过 async/await
,但我遇到了同样的问题。
我发现了问题。在循环中,我创建了所有具有相同名称的提示,因此没有结果。更改后现在可以完美运行了。