0

我试图弄清楚如何使用函数在询问者提示中返回选择,但我似乎找不到任何关于如何执行此操作的示例或解释。我有一个 MySQL2 查询:

db.query(`SELECT id AS value, name FROM departments`, (req, res) => {
    return Object.values(JSON.parse(JSON.stringify(res)))
})

返回一个对象数组:

[
  { value: 1, name: 'Sales' },
  { value: 2, name: 'Engineering' },
  { value: 3, name: 'Finance' },
  { value: 4, name: 'Legal' },
  { value: 5, name: 'Human Resources' }
]

这似乎返回的数组将满足我在提示中需要的内容:

{
        type: 'list',
        name: 'department',
        message: 'In which department is this role?',
        choices: [// CODE HERE]
}

但我不断得到“未定义”。我试图将 MySQL 查询直接放入选择数组中。我已经尝试returnconsole.logmap。我尝试将查询放入函数中,然后在选择提示中调用该函数。

我还确认将我的对象数组硬编码到选择提示中确实可以成功打印,但我不想硬编码,因为提示中的其他问题允许客户添加到部门表中,我希望将其反映在的选择。

我错过了什么?

4

1 回答 1

0

考虑在选择函数中使用异步操作时,您必须返回一个承诺

于 2021-12-12T10:56:34.950 回答