2016-08-02 12 views
-3

Der folgende Node.js-Code druckt "undefined", obwohl es die Datei gefunden hat.Node.js Funktion Gibt 'undefined' zurück

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()); 

Wie würde ich es umschreiben? Ich verstehe die Lösung in dem anderen Thread, den ich gezeigt habe, nicht vollständig.

+0

'fs.readfile' ist *** asynchron ***! – adeneo

+0

Ihre Funktion 'fileFound' gibt nichts zurück. – SteamDev

+0

Jede Funktion hat ihren eigenen Rückgabewert. Die 'fileFound'-Funktion gibt nichts zurück, was in JavaScript _undefined_ bedeutet. – undefined

Antwort

1

Da die return Anweisungen sind innerhalb des Rückrufs in fs.readFile übergeben.

die fileFound Funktion gibt nie etwas zurück, daher werden Sie undefiniert.