Bonjour tout le monde,
En gros j'ai une liste "usersAll" et "demands" l'un dans "demandsCtrlr.allDemands2" et l'autre dans"demandsCtrlr.allDemands". Le probleme c'est que j'ai essayé mais soit dans mon fichier jade, ça utilise usersAll soit demads mais pas les deux.
J'ai essayé de faire une fonction dans le route mais ça ne change rien .

// DEMANDS CRUD
//router.use('/demands', demandsCtrlr.allDemands2);
router.get('/demands', function (req, res, err) {
    if (!err) {
        res.send(demandsCtrlr.allDemands);
    } else {
        res.send(demandsCtrlr.allDemands2);
    }
});

```**demands.controller**
var renderDemandsPage = function (req, res, demandsAll) {
    if(!req.user) return res.redirect('/login');
    else if(req.user && req.user.user_role != '') return res.redirect('/denied');
    return res.render('dashboard/demands-table', {
        title: 'Dashboard',
        demands: demandsAll,
        //usersAll: usersAll
    })
};
var renderDemandsPage2 = function (req, res, usersAll) { // 19/04
    if (!req.user) return res.redirect('/login');
    else if (req.user && req.user.user_role != '') return res.redirect('/denied');
    return res.render('dashboard/demands-table', {
        title: 'Dashboard',
        usersAll : usersAll
    })
};

// All demands request
module.exports.allDemands = (function (req, res) {
    var requestOptions, path;
    path = '/api/demands';
    requestOptions = {
        url : apiOptions.server + path,
        method : "GET",
        json : {}
    };
    request(
        requestOptions,
        function(err, response, body) {
            renderDemandsPage(req, res, body);
        }
    );
});
module.exports.allDemands2 = (function (req, res) {
    var requestOptions, path;
    path = '/api/users';
    requestOptions = {
        url: apiOptions.server + path,
        method: "GET",
        json: {}
    };

    request(
        requestOptions,
        function (err, response, body) {
            renderDemandsPage2(req, res, body);
        }
    );
});

Merci d'avance. Je ne sais pas s'il faut utiliser un fonction comme res.send ou autre.

2 réponses


betaWeb
Réponse acceptée

Salut, pourquoi ne fais tu pas juste une fonction générique que tu appelles via une route et voilà problème réglé.

En gros c'est une fonction qui génère les 2 listes et ensuite que j'appelle via la route? je vais essayer, merci
Il n'y aurait pas un moyen d'executer la route comme ceci :

router.get('/demands', async.parallel(demandsCtrlr.allDemands, demandsCtrlr.allDemands2));

genre en parallèle?