Je fais une lecture sur modulariser mon code et j'ai décidé d'exporter certaines fonctions dans un fichier distinct et de les inclure dans ma fonction principale une fois qu'elle est appelée. Seule ma configuration de mon site Web ne renvoie pas si je l'appelle:
// Export from my controller // File: Controller.js exports.site_config = function(company, data) { siteConfig.find({"company" : company}, function data (err, siteConfig, data) { // Console.log(siteConfig[0]) // Works return siteConfig[0] // This return is not working }) // Only here returns works.... } // File: Index.js const siteController = require('../controllers/site'); console.log(siteController.site_config('company2')) // nothing return
3 Réponses :
Votre fonction de recherche renvoie un rappel Vous pouvez faire quelque chose comme ceci:
Le rappel n'est pas une fonction ... `` `` `Server a commencé sur Port 3000 Events.js: 173 Thread ER; // événement "Erreur" non géré ^ TypeError: Le rappel n'est pas une fonction
Dans Nodejs- Express JS, vous devez transmettre la fonction comme rappel.
Lorsque le résultat est disponible ou une erreur survenue dans le code les renvoie dans Callback; p>
// fichier: contrôleur.js < / p>
Écrivez votre fonction à l'intérieur du module.exports: p> dans votre fichier: index.js, nécessite le contrôleur de fichier.js p>
Il exporte uniquement la fonction maintenant .... AIASES: {}, Sous-Pays: {}, Virtuals: {ID: VirtualType {Chemin: «ID», Getters: [Array], Setteurs: [], Options: { }}}, SingLeneDePaths: {}, Nethé: {}, hérités: {}, callQueue: [], _Indexes: [], Méthodes: {}, méthodoption: {}, statique: {}, arborescence: {Site_Title: { Type: [Fonction: String], Requis: false}, site_slogan: {Type: [Fonction: String], Obligatoire: False}, Code>
Que pensez-vous que cela exporte? Ce que vous avez énuméré n'est pas une fonction, c'est un document de mangouste. Si vous en auriez besoin d'un objet clair, utilisez siteconfig.findone ({"société": société}). Lean () code>