2012-07-21 35 views
1

我剛開始使用Node.js和受commander.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; 
    }); 
} 

感謝

回答

0

你必須把第二個提示的回調中從第一個。

program.prompt('Name of the stuff: ', function(name){ 
    var stuffName = name; 
    program.prompt('Description of the stuff: ', function(description){ 
     var stuffDescription = description; 
    }); 

}); 

如果您不這樣做,那麼兩個提示都會立即打印出來;該API是異步的。

+0

非常感謝! – romainberger 2012-07-21 21:22:26