0
程序必須獲得2個變量。例如,它必須是登錄名和密碼。 腳本可以從命令行接收它(登錄或使用密碼登錄)。 如果沒有一個命令行參數未填充,則用戶必須使用stdin輸入它。 如果用戶只輸入一個填數 - 我需要詢問用戶第二個。 如果用戶輸入了兩個參數 - 無關(exec一些func)。帶參數或stdin的node.js腳本
問題是:如何正確構建node.js(異步)上的程序。
在某些事件或什麼?
我寫了這段代碼,我該如何改進呢?
if(process.getuid() != 0) {
console.log('Error!');
console.log('Required root privileges');
process.exit(1);
}
var getUser = function(user, callback) {
if(user == undefined) {
ask('Enter user', /.+/, function(user) {
callback(user, process.argv[3]);
});
} else {
callback(user, process.argv[3]);
}
}
var getPassword = function(user, password) {
if(password == undefined) {
ask('Enter password', /.+/, function(password) {
addUser(user, password);
});
} else {
addUser(user, password);
}
}
function addUser(user, password) {
console.log('Adding user:');
console.log(user);
console.log(password);
process.exit(0);
}
var user = getUser(process.argv[2], getPassword);
function ask(question, format, callback) {
var stdin = process.stdin, stdout = process.stdout;
stdin.resume();
stdout.write(question + ": ");
stdin.once('data', function(data) {
data = data.toString().trim();
if (format.test(data)) {
callback(data);
} else {
stdout.write("It should match: "+ format +"\n");
ask(question, format, callback);
}
});
}
什麼是**特定**問題? – usr
正確的架構。因爲我知道我的代碼工作,但不是很好。 – Alex