javascript - 在 InquirerJS 中传递选择的答案?

标签 javascript asynchronous inquirerjs

我如何才能从上一个问题中获得答案并转到下一个问题以供询问者JS选择?我知道它是异步的,但我不确定如何在这里创建 promise 。任何进一步的见解和帮助都会很棒。

示例:

var questions = [{
    name: 'menu',
    type: 'checkbox',
    message: 'Which food do you like eating?',
    choices: ['pizza', 'hotdog', 'hamburger', 'sandwiches'],
   }, {
    name: 'favorite',
    type: 'checkbox',
    message: 'Which one do you like most?',
    choices: answers.menu,   <------- doesn't work because it is asynchronous
   };

最佳答案

根据文档choises可以是一个函数。

var inquirer = require('inquirer');

var questions = [
  {
    name: 'menu',
    type: 'checkbox',
    message: 'Which food do you like eating?',
    choices: ['pizza', 'hotdog', 'hamburger', 'sandwiches'],
  },
  {
    name: 'favorite',
    type: 'checkbox',
    message: 'Which one do you like most?',
    choices: (answers) => {
        return answers.menu;
    }
  },
];

inquirer.prompt(questions).then(answers => {
  console.log(answers);
});

关于javascript - 在 InquirerJS 中传递选择的答案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48638144/

相关文章:

javascript - Angular JS + 重定向不起作用

javascript - 通过 GET URL 加载 Bootstrap nav nav-tabs

c# - 将 Task.Run 与 async/await 关键字混合使用时出现奇怪的编译器行为

.net - 取消异步操作

node.js - 从命令行向 Node.js 脚本发送字符串和回车键

javascript - 如何忽略 Jest 代码覆盖率的文件模式?

javascript - 基本 JavaScript 动画

没有框架函数的 C# 异步

javascript - 如何在查询器 Node js中调用另一个页面函数名称