#javascript #node.js #express
#javascript #node.js #выразить
Вопрос:
У меня есть этот код, и он отлично работает. Есть ли возможность передать определенную функцию в качестве параметра 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
}
Ответ №1:
Просто передайте ссылку на функцию в качестве параметра, а не вызывайте ее
Изменить:
router.post('/click', def_myfunc(res, res));
Для
router.post('/click', def_myfunc);
Ответ №2:
Просто
router.post('/click', def_myfunc);
function def_myfunc (req, res)
{
// do something
}
Ответ №3:
Вы можете сделать что-то вроде этого.
router.post('/click', def_myfunc);
function def_myfunc (res, res)
{
// do something
}
Ответ №4:
Прежде всего, у вас опечатка в параметрах (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);