我刚开始使用 node.js 和 commander.js,所以这可能是个愚蠢的问题...
所以我正在尝试制作一个命令行工具,我需要向用户询问一些信息。我正在尝试使用 commander.js因为它看起来很简单。 问题是,当我运行脚本时,它不会等待用户键入答案并执行所有脚本。 我怎样才能使它工作?
这是我组织代码的方式:
#!/usr/bin/env node
var program = require('commander');
program
.version('0.0.1')
.option('-c, --create', 'Create new stuff')
.parse(process.argv);
if(program.create){
console.log('Creating new stuff');
program.prompt('Name of the stuff: ', function(name){
var stuffName = name;
});
program.prompt('Description of the stuff: ', function(description){
var stuffDescription = description;
});
}
谢谢
最佳答案
您必须将第二个提示放在第一个提示的回调中。
program.prompt('Name of the stuff: ', function(name){
var stuffName = name;
program.prompt('Description of the stuff: ', function(description){
var stuffDescription = description;
});
});
如果您不这样做,那么两个提示都会立即打印出来; API 是异步的。
关于javascript - 指挥官.js : script not waiting for user input,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11595802/