我尝试做的只是在提示中将字段设置为true时才提出问题。
this.prompt(prompts, function (props) {
this.isShared = props.isShared;
this.componentName = props.componentName;
// To access props later use this.props.someAnswer;
if (this.isShared)
{
prompts = [{
name: 'inPack',
message: 'Yo dawg, in which pack is your component ? (you can just press enter if it\'s not in a pack)',
default: ''
}]
this.prompt(prompts, function (props) {
this.inPack = props.inPack;
}.bind(this));
done();
}
else
done();
}.bind(this));
问题在于'写作'在if之前调用函数(无论if是否有效),所以我想知道如何正确地执行它,因为我认为这不是好方法
答案 0 :(得分:3)
好的Yeoman只是JavaScript,所以如果你正确处理异步命令,任何if / else语句都可以。
话虽如此,如果您依赖于问题的when
属性,则会删除所有异步开销。见https://github.com/SBoudrias/Inquirer.js#question