[英]Express response undefined in promise
我在设置回复时使用promises。 我的代码看起来像这样:
app.get("/api/assignment/user", getUserByUsername);
function getUserByUsername (req, res) {
var username = req.query.username;
model.findUserByUsername(username)
.then(defaultJsonResponse(res), notFound(res));
}
function defaultJsonResponse(res) {
return function(nObj) { defaultJsonResponse(nObj, res)};
}
function defaultJsonResponse(njson, res) {
if(njson) res.json(njson);
else notFound(res, "error");
}
当我运行getUserByUsername
方法时,我得到TypeError: Cannot read property 'json' of undefined
。 我无法理解为什么defaultJsonResponse(njson, res)
的响应undefined
答案就像@Bergi在上面的评论中所说,这是我对JavaScript函数重载缺乏了解。 通过给方法两个不同的名称可以解决问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.