1
下面顯示的代碼旨在將當前工作目錄輸出到控制檯。相反,它會輸出「未定義」。爲了獲得這種學習體驗,作爲系統函數的返回值獲得所需的結果非常重要。關於如何使這項工作的任何想法?如何獲取系統命令的輸出作爲函數的返回值?
#!/usr/bin/node
var child_process = require('child_process');
function system(cmd) {
child_process.exec(cmd, function (error, stdout, stderr) {
return stdout;
})};
console.log(system('pwd'));
*「爲了這種學習體驗,重要的是我要獲得所需的結果作爲系統函數的返回值。」*這是不可能的。 'child_process.exec'是一個異步進程(這就是爲什麼你必須傳遞一個回調)。有關爲什麼你得到'undefined'(以及如何解決這個問題)的信息,請參閱http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-asynchronous-call –