Есть ли возможность передать определенную функцию в качестве параметра express.post () - PullRequest
0 голосов
/ 26 марта 2019

У меня есть этот код, и он отлично работает. Есть ли возможность передать определенную функцию в качестве параметра express.post().

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

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

Я хочу спросить вас, есть ли возможность, чтобы я мог вызвать определенную функцию, как показано ниже:

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

или это звучит более разумно:

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


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

Ответы [ 4 ]

2 голосов
/ 26 марта 2019

Просто передайте функцию ссылку в качестве параметра, а не вызывайте его

Измените:

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

на

router.post('/click', def_myfunc);
1 голос
/ 26 марта 2019

Just

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

function def_myfunc (req, res)
{
// do something
}
0 голосов
/ 26 марта 2019

Прежде всего, у вас есть опечатка в параметрах (res). Это не

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

Но (req, res)

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

При этом, как и другие, опубликованные выше, просто передайте ссылку на функцию следующим образом:

function def_myfunc(req, res) {
  // whatever
}
router.post('/click', def_myfunc);
0 голосов
/ 26 марта 2019

Вы можете сделать что-то вроде этого.

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

function def_myfunc (res, res)
{
  // do something
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...