2016-08-02 289 views
-3

以下Node.js代碼打印'undefined',即使它找到了該文件。Node.js函數返回'undefined'

var fileFound = function() { 
    fs.readFile('public/images/acphotos/Friedrich-EL36N35B.jpg', function(err, data) { 
      if (err) { 
      console.log(err); 
      return false; 
      } else { 
      return true; 
     } 
    }); 
} 

console.log("Return value: " + fileFound()); 

我該如何重寫它?我沒有完全理解我所展示的其他線程中的解決方案。

+0

'fs.readfile'是***異步***! – adeneo

+0

你的'fileFound'函數不返回任何東西。 – SteamDev

+0

每個函數都有自己的返回值。 'fileFound'函數返回的任何內容都不代表_undefined_。 – undefined

回答

1

因爲return語句在傳遞到fs.readFile的回調中。

fileFound函數永遠不會返回任何東西,因此你會得到未定義的。