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
});
4 Réponses :
Juste
router.post('/click', def_myfunc);
function def_myfunc (req, res)
{
// do something
}
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));
Vous pouvez faire quelque chose comme ceci.
router.post('/click', def_myfunc);
function def_myfunc (res, res)
{
// do something
}
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
});