0
设置响应,当我使用的承诺不确定的。我的代码看起来是这样的:快速响应的承诺
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
。 我无法理解为什么响应是undefined
defaultJsonResponse(njson, res)
你必须通过一个回调'then',你的函数调用的不是结果。用函数表达式来包装它们。 – Bergi
为什么你有函数defaultJsonResponse定义两次?在if/else语句之后,您还缺少括号。 – user2263572
@ user2263572,那里不需要括号。你确定你收到回应吗?如果是的话,你能提供JSON吗? – Filipe