我正在创建一个自定义的yeoman生成器,我需要根据用户响应创建一个数组: 如何重复一个问题并将答案推送到数组?
ex: 添加值?是/否 如是 价值=?
添加值?是/否 ...
目前,我有这段代码:
MyGenerator.prototype.askFor = function askFor() {
var cb = this.async();
console.log(this.yeoman);
var prompts = [
{
type: 'confirm',
name: 'addvalue',
message: 'Add value ?',
default: true
},
{
name: 'myarray',
message: 'Value =',
}
];
this.prompt(prompts, function (props) {
this.addvalue = props.addvalue;
cb();
}.bind(this));
};
答案 0 :(得分:1)
只需使用递归函数。
示例(因this
上下文而无法正常工作):
function askSomething() {
this.prompt({ /* some prompts */ }, function (answers) {
// call the function back if needed
askSomething();
});
}