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 });