您可以将exec函数传递给回调函数。当exec函数确定用户名时,您将使用用户名调用回调。
var child = exec(cmd, function(error, stdout, stderr, callback) { var username = stdout.replace('rn',''); callback( username ); });由于Javascript的异步特性,您无法执行以下操作:
var username; var child = exec(cmd, function(error, stdout, stderr, callback) { username = stdout.replace('rn',''); }); child(); console.log( username );这是因为该行
console.log( username );不会等到上面的函数完成。
回调说明:
var getUserName = function( callback ) { // get the username somehow var username = "Foo"; callback( username ); }; var saveUserInDatabase = function( username ) { console.log("User: " + username + " is saved successfully.") }; getUserName( saveUserInDatabase ); // User: Foo is saved successfully.


