我正在尝试通过用户名查询用户,如下所示:
userRouter.get('/user/:user_username', function(req, res) {
console.log("GET request to '/user/" + req.params.user_username + "'");
User.find({ usernmame: req.params.user_username }, function(err, user) {
if (err) res.send(err); return;
res.json(user);
});
});
查询永远不会完成,Chrome开发工具会在请求中显示“待处理”。它肯定会去那条路线,因为它会打印我在开始时记录的控制台消息。我在mongo cli中执行了相同的查询,它确实有效。我尝试在回调体中记录消息,但它永远不会到达那一点。我现在不知道该怎么做。
答案 0 :(得分:5)
这是因为if (err) res.send(err); return;
被评估为
if (err) {
res.send(err);
}
return;
要解决此问题,请考虑添加一些大括号。