Comment faire pour lire le fichier de variable dans NodeJs?
je suis assez nouveau dans NodeJs. Et je suis en train de lire un fichier dans une variable.
Voici mon code.
var fs = require("fs"),
path = require("path"),
util = require("util");
var content;
console.log(content);
fs.readFile(path.join(__dirname,"helpers","test.txt"), 'utf8',function (err,data) {
if (err) {
console.log(err);
process.exit(1);
}
content = util.format(data,"test","test","test");
});
console.log(content);
Mais à chaque fois que je lance le script j'obtiens
undefined
et undefined
Ce qui me manque? De l'aide s'il vous plaît!
fs.readFile
est asynchrone (c'est pourquoi vous utilisez une fonction de callback). Soit faire tout à partir de la fonction de rappel ou de l'utilisation var content = fs.readFileSync("filename")
Bienvenue dans le monde merveilleux de async! Vous ne pouvez pas le faire.
Elle renvoie d'un Tampon. Comment convertir le Tampon de Chaîne?
Double Possible de Obtenir des données de fs.readFile
double de stackoverflow.com/questions/10058814/get-data-from-fs-readfile
OriginalL'auteur | 2014-02-23
Vous devez vous connecter pour publier un commentaire.
Comme indiqué dans les commentaires sous votre question, le noeud est asynchrone, ce qui signifie que votre fonction n'a pas terminé son exécution lors de votre deuxième
console.log
fonction est appelée.Si vous déplacez le journal d'instruction à l'intérieur du rappel après la lecture du fichier, vous devriez voir le contenu de sortie:
Même si cela va résoudre votre problème immédiatement, sans une compréhension de la nature asynchrone de nœud, vous allez rencontrer beaucoup de problèmes.
Cette stackoverflow répondre va plus dans le détail de ce que d'autres alternatives sont disponibles.
OriginalL'auteur Ryan Weir
ou facilement comme suit:
OriginalL'auteur Zuhair Taha