Bonjour tout le monde,

Je suis en plein apprentissage de node et me retrouve coincé sur une erreur que je n'arrive pas a debugger.

En fait j'essaie de séparer et d'organiser mon code a travers rooting, controller et utilitaires. Bref. Voici a la base ce que j'avais et qui marche tres bien, index.js :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
const path = require('path');
Promise = require('bluebird');
fs = require('fs');
const express = require('express');
Promise.promisifyAll(fs);
app = express();
 
//require('./rooting/callback');
 
app.use(express.static('public'));
 
 app.get('/callback', (req,res) =>{
    var returnJsonResponse = (content)=>{
        res.json(content);
    };
 
     fs.readFileAsync('./test.json').then(JSON.parse).then(returnJsonResponse);
 
 });
Suite à ca j'ai crée un dossier rooting avec un fichier callback.js :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var callbackController = require('../controllers/controller.callback');
 
console.log(callbackController);
 
app.get('/callback', callbackController.getCallback());
 
 
// app.get('/callback', (req,res)=>{
//     var returnJsonResponse = (content)=>{
//        res.json(content);
//    };
//
//     fs.readFileAsync('./test.json').then(JSON.parse).then(returnJsonResponse);
// });
 
function logFileContent(content){
    console.log("Log de la fonction file content : " + content);
    return content;
}
Ici la fonction commenté est donc simplement la fonction de index.js, la aussi ca marchait tres bien, mais en voulant separer la callback de la fonction dans un fichier controller je me retrouve avec le serveur qui plante et l'erreur :
Route.get() requires a callback function but got a [object Undefined]

CI-joint mon fichier controller.callback.js :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
 * Action callback
 * @param req
 * @param res
 */
exports.getCallback = function(req,res){
    var returnResponseJsonContent = function(content) {
        return res.json(content);
    };
 
    fs.readFileAsync('./test.json')
        //.then(logFileContent)
        .then(JSON.parse)
        .then(returnResponseJsonContent);
 
 
 
};
Quelqu'un pourrait il m'expliquer ou j'ai fait une erreur comment la trouver pour la prochaine fois ???

Un grand merci,

Bonne journée

[EDIT] Désolé pour la question je viens de me rendre compte que c'était simplement l'apelle de la callback qui n'était pas bon.. il ne fallait pas les paranthèses a getCallback... Désolé !