我想向用户提问,但又不想立即列出所有问题。
该文档提到了 rxjs,但我觉得文档中关于如何在执行提示时正确添加问题的问题存在差距,或者至少它对我来说不太有效。
https://www.npmjs.com/package/inquirer#reactive-interface
在内部,Inquirer 使用 JS 反应式扩展来处理事件和异步流。
这意味着您可以利用此功能来提供更高级的流程。例如,您可以动态添加要询问的问题:
var prompts = new Rx.Subject();
inquirer.prompt(prompts);
// At some point in the future, push new questions
prompts.next({
/* question... */
});
prompts.next({
/* question... */
});
// When you're done
prompts.complete();
Run Code Online (Sandbox Code Playgroud)
使用返回值处理属性,您可以访问更细粒度的回调:
inquirer.prompt(prompts).ui.process.subscribe(onEachAnswer, onError, onComplete);
Run Code Online (Sandbox Code Playgroud)