对快速路由使用回调函数时的未定义参数
Undefined Argument when using Callback function for express route
目前,我在Express中使用了许多路线。有些路线可能相当长。常见路由如下所示:
router.get('/api/comments', function(req, res, next){
Comment.find({"user": req.payload._id}).exec(function(err,comments){
if(err){return next(err); }
res.json(comments);
})
}
这工作正常。但是我多次调用路由,可能会很长。所以我正在尝试创建一个可以被各种路由调用的回调函数。例如
var testFunction = function(req, res, next){
Comment.find({"user": req.payload._id}).exec(function(err,comments){
if(err){return next(err); }
res.json(comments);
})
}
router.get('/api/comments', testFunction(req,res,next));
但是,我总是会在最后一行收到"未定义 req"错误。只是想知道我在这里做错了什么?
router
将函数作为参数,而不是执行该函数的结果。
router.get('/api/comments', testFunction);
会起作用。
尝试执行router.get('/api/comments', testFunction);
而不是router.get('/api/comments', function(req, res, next)
相关文章:
- 现有函数未定义
- jQuery$.post可以在chrome、safari中工作,但不能在FF中工作(声明成功回调函数未定义)
- AngularJS ng repeat显示原型函数未定义
- jQuery onclick 函数:未定义不是一个函数
- 函数未定义
- 为什么在jsfiddle中显示ReferenceError:函数未定义
- 函数未定义,实际定义时为
- 函数未定义的Javascript(Basic)
- ajax函数未定义
- 为什么window.onload函数未定义
- 模块模式:函数未定义
- 包含的javascript源代码通过PHP,onmousemove事件,函数未定义
- 单击链接时出现函数未定义错误
- AngularJS和Angular Snap:SSnap构造函数未定义
- 在Node.js中,从同一文件中的另一个函数引用一个函数会导致'ReferenceError:-函数-未定义
- symfony trick javascript函数未定义
- 不断获取JS函数未定义错误
- AngularJS HTTP 资源 - 响应函数未定义
- 函数未定义,参数格式
- JavaScript 中的函数未定义