Я создаю свой первый (настоящий) генератор Yeoman.io, который имеет несколько вложенных подсказок (т.е. ответ одной подсказки влияет на представление других подсказок и действий).
Я проследил свой код, и на первый взгляд кажется, что я «открываю и закрываю» свои приглашения соответствующим образом, но в самом конце скрипта похоже, что все еще есть открытая строка чтения (из Inquirer.js), и дополнительный onCompletion срабатывает после закрытия строк чтения.
Я собираюсь предположить, что это проблема не с библиотеками (Yeoman.io или Inquirer.js), а с тем, как я запрашиваю, или есть другой способ сделать то, что я пытаюсь сделать.
INQUIRER onCompletion
Prompted for initialize, user said true
User said to initialize, exec git init
INQUIRER onCompletion
INQUIRER ERROR: TypeError: Cannot call method 'removeListener' of null
GITHOOKS PROMPT: undefined
GITHOOKS PROMPT: undefined
/untethered/app/index.js:178
cb();
^
TypeError: undefined is not a function
at UntetheredGenerator.<anonymous> (/untethered/app/index.js:178:3)
at Object.<anonymous> (/untethered/node_modules/yeoman-generator/node_modules/inquirer/lib/inquirer.js:88:7)
Код находится здесь: https://github.com/pollensoft/untethered/blob/master/app/index.js