Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向问询中的选项传递答案?_Javascript_Asynchronous_Inquirerjs - Fatal编程技术网

Javascript 向问询中的选项传递答案?

Javascript 向问询中的选项传递答案?,javascript,asynchronous,inquirerjs,Javascript,Asynchronous,Inquirerjs,我如何才能从上一个问题中得到答案,并将答案传递到下一个问题,以供提问者选择?我知道它是异步的,但我不知道如何在这里创建承诺。任何进一步的洞察和帮助都将是巨大的 例如: var questions = [{ name: 'menu', type: 'checkbox', message: 'Which food do you like eating?', choices: ['pizza', 'hotdog', 'hamburger', 'sandwiches'],

我如何才能从上一个问题中得到答案,并将答案传递到下一个问题,以供提问者选择?我知道它是异步的,但我不知道如何在这里创建承诺。任何进一步的洞察和帮助都将是巨大的

例如:

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
   };
var问题=[{
名称:'菜单',
键入:“复选框”,
信息:“你喜欢吃什么食物?”,
选择:[“比萨饼”、“热狗”、“汉堡包”、“三明治”],
}, {
姓名:'最爱',
键入:“复选框”,
信息:“你最喜欢哪一个?”,

选项:answers.menu,根据文档
选项可以是一个函数

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);
});