Die Speicherung von nodejs fs.readfile das Ergebnis in einer Variablen und übergeben Sie an die Globale variable
Frage ich mich, ob es möglich, die Weitergabe der Inhalte des fs.readfile aus dem Geltungsbereich der readfile-Methode und speichern Sie in einer Variablen ähnlich.
var a;
function b () {
var c = "from scope of b";
a = c;
}
b();
Dann kann ich die Konsole.log(a); oder die übergabe an eine weitere variable.
Meine Frage ist gibt es eine Möglichkeit, dies zu tun mit fs.readFile, so dass der Inhalt (die Daten) übergeben bekommen, um die Globale variable global_data.
var fs = require("fs");
var global_data;
fs.readFile("example.txt", "UTF8", function(err, data) {
if (err) { throw err };
global_data = data;
});
console.log(global_data); //undefined
Dank
- Willkommen in der wunderbaren Welt der async! Das kannst du nicht tun.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem, das Sie haben, ist nicht ein problem von Tragweite, aber von der Reihenfolge der Operationen.
Als readFile asynchron ist,
console.log(global_data);
Auftritt vor der Lesung, und vor derglobal_data = data;
Zeile ausgeführt wird.Dem richtigen Weg ist :
In einem einfachen Programm (in der Regel ein web-server), möchten Sie vielleicht auch, um den synchronen Betrieb readFileSync aber im Allgemeinen ist es besser, nicht um die Hinrichtung zu stoppen.
Mit readFileSync, Sie würde tun,