Im довольно новый для Йомен, но я пытаюсь выполнить рекурсивную подсказку. Вдохновленный EntityGenerator в jhipster (https://github.com/jhipster/generator-jhipster/tree/master/generators/entity).Yeoman рекурсивный запрос, обратный вызов не запускается
Однако, похоже, что ошибка мешает возникновению цикла.
Мой код выглядит следующим образом:
var yeoman = require('yeoman-generator');
var inputFields = [];
module.exports = yeoman.Base.extend({
prompting: {
askForName: askForName,
askForFields: askForFields
}
});
function askForData() {
var prompts = [{
type: 'input',
name: 'name',
message: 'Name?',
default: 'Slim Shady'
}];
return this.prompt(prompts).then(function (props) {
this.props = props;
this.async();
}.bind(this));
}
function askForFields() {
var cb = this.async();
askForField.call(this, cb);
}
function askForField(cb) {
var prompts = [{
type: 'confirm',
name: 'fieldAdd',
message: 'Do you want to add a field?',
default: true
}, {
when: function (response) {
return response.fieldAdd === true;
},
type: 'input',
name: 'fieldName',
message: 'What is the name of your field?'
};
this.prompt(prompts, function (props) {
this.log("Done prompting: ", props);
if (props.fieldAdd) {
var field = {
fieldName: props.fieldName,
};
inputFields.push(field);
}
if (props.fieldAdd) {
askForField.call(that, cb);
} else {
cb();
}
}.bind(this));
}
Первый цикл рекурсивного запроса работает, как задумано, но каротаж this.log("Done prompting: ", props);
никогда не выполняется. Его вроде обратного вызова подсказки никогда не происходит. Генератор просто выходит после одного запуска.
Я зарегистрировал и сравнил this
-s всех функций, и они одинаковы. Я просмотрел много похожих вопросов stackoverflow, но я не вижу ничего плохого, за исключением того, что он не работает.
Любая помощь или советы приветствуются!
Извините за мой последний ответ, у меня был проект на льду какое-то время, так как я застрял. В любом случае, решение отлично работает, спасибо большое! – lassejl