繁体   English   中英

承诺中的快速响应未定义

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM