0

如何动态构建查询器提示数组?即当我遍历项目以动态添加提示元素时。

当我尝试时,程序不会等待响应。它继续执行其余代码并退出。

注意:我在此示例中使用 async/await,但删除它不会改变任何内容

工作示例 作为确认我未显示的所有内容设置正确的基线,此代码有效。元素不是在循环中创建的,程序按预期等待用户输入。

...
const iqElements = [{
    type: 'input',
    name: 'gitref',
    message: 'Git reference:',
    default: 'master',
  }]
const iq = await inquirer.prompt(iqElements)

问题示例:这就是问题所在。当我iqElements在 for 循环中构建数组时,程序不会等待用户输入。它继续并退出。

该元素name是为这个简化的示例设计的。我的实际代码从我正在迭代的元素的唯一属性中设置名称值。

...
const iqElements = []
for (let i = 0; i < 2; i++) {
  iqElements.push({
    type: 'input',
    name: 'gitref'+i,
    message: 'Git reference:',
    default: 'master',
  })
}
// Confirmed the elements are build before the next line is called
console.log(iqElements)
const iq = await inquirer.prompt(iqElements)
4

0 回答 0