我有此代码,它工作正常。是否可以将已定义的函数作为参数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
}
答案 0 :(得分:2)
只需传递函数 reference 作为参数,而不是调用它
更改:
router.post('/click', def_myfunc(res, res));
收件人
router.post('/click', def_myfunc);
答案 1 :(得分:1)
只是
router.post('/click', def_myfunc);
function def_myfunc (req, res)
{
// do something
}
答案 2 :(得分:0)
您可以执行以下操作。
router.post('/click', def_myfunc);
function def_myfunc (res, res)
{
// do something
}
答案 3 :(得分:0)
首先,您在参数(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);