0
votes

Existe-t-il une possibilité de passer une fonction définie comme paramètre express.post ()

J'ai ce code et cela fonctionne très bien. Est-il possible de passer une fonction définie en tant que paramètre express.post().

router.post('/click', function(res, res) {
   def_myfunc (res, res);
});


function def_myfunc (res, res)
{
    // do something
}

Je veux vous demander s'il y a une possibilité pour que je puisse appeler un fonction définie ici comme ci-dessous:

router.post('/click', def_myfunc(res, res));
<br />
function def_myfunc (res, res)
{
    // do something
}

ou est-ce que cela semble plus raisonnable:

const exs = require('express');
const exs_r = exs.Router();

router.post('/click', function(res, res) {
   //Do something
});


0 commentaires

4 Réponses :


1
votes

Juste

router.post('/click', def_myfunc);

function def_myfunc (req, res)
{
// do something
}


0 commentaires

2
votes

Passez simplement la fonction référence comme paramètre plutôt que de l'invoquer

Changer:

router.post('/click', def_myfunc);

En

router.post('/click', def_myfunc(res, res));


0 commentaires

0
votes

Vous pouvez faire quelque chose comme ceci.

router.post('/click', def_myfunc);

function def_myfunc (res, res)
{
  // do something
}


0 commentaires

0
votes

Tout d'abord, vous avez une faute de frappe dans les paramètres (res). Ce n'est pas

function def_myfunc(req, res) {
  // whatever
}
router.post('/click', def_myfunc);

Mais (req, res)

router.post('/click', function(req, res) {
  //Do something
});

Cela étant dit, comme d'autres postés ci-dessus, il suffit de passer la référence de la fonction comme suit:

router.post('/click', function(res, res) {
  //Do something
});


0 commentaires