Appeler une fonction dans node.js
Je suis nouveau sur node.js
.Ici, j'écris un exemple de fonction dans node.js pour imprimer le contenu d'un json
fichier comme suit.
exports.getData =function(callback) {
readJSONFile("Conf.json", function (err, json) {
if(err) { throw err; }
console.log(json);
});
console.log("Server running on the port 9090");
Ce que je fais ici c'est que je veux juste lire un json
fichier et imprimer le contenu de la console. Mais je ne sais pas comment appeler la getData
fonction. Lors de l'exécution de ce code, il n'imprime que les sever running on the port..", not my
json` contenu.
Je sais que le code ci-dessus n'est pas correct
Comment puis-je appeler une fonction dans node.js
et imprimer le json
contenu?
- Vous avez défini une fonction, mais vous n'avez pas de déclaration à l'appeler. Ajouter getData(null);
Vous devez vous connecter pour publier un commentaire.
Node.js est juste régulières javascript. Tout d'abord, il semble qu'il vous manque un
}
. Depuis elle rend la question plus facile à comprendre, je vais supposer que votreconsole.log("Server...
est à l'extérieur deexports.getData
.Vous suffit d'appeler votre fonction comme les autres:
Je remarque que vous avez un
callback
argument dans votre fonction getData mais vous n'êtes pas en l'appelant. Peut-être qu'il est destiné à être appelé de la sorte:Honnêtement, votre fonction getData est un peu redondant, sans plus de contenu, car il ne fait rien de plus que juste envelopper
readJSONFile
.Ne le prenez pas mal, mais votre code semble être un mixte jusqu'désordre sans rapport avec des exemples. Je vous recommande de commencer par apprendre les bases de JavaScript et node.js (par exemple, lire Éloquent JavaScript et Felix Node.js Guide pour les Débutants).
Mais sur votre code. Tout d'abord, vous créez une fonction (appelée
getData
) et de l'exporter. Ensuite, vous avez l'impression de "Serveur en cours d'exécution sur le port 9090". Il n'y a pas de serveur de code dans votre script, et la fonction que vous avez créé n'est jamais exécutée.Je pense que c'est ce que vous avez voulu écrire:
En supposant que
readJSONFile
est une fonction réelle.