我对下面的代码有问题。当遇到错误时,会命中 if 语句并调用 res.send。但是,代码然后继续到下面的 res.json 调用。这会导致标题错误。
使用 else 语句是唯一正确的方法吗?我认为调用 res.send 会中断函数。
exports.new = function (req, res) {
let team = new Team();
team.name = req.body.name;
team.description = req.body.description;
team.members = [];
// save the team and check for errors
team.save(function (err) {
if (err) {
res.status(400).send(err);
}
res.status(200).json({
message: 'Team successfully created',
team: team
});
});
};
我也尝试过使用 req、res、next 作为函数参数并使用以下方法:
if (err) {
res.status(400);
next(err);
}
res.status(200).json({
message: 'Team successfully created',
team: team
});
虽然这不会引发错误,但它仍然继续调用最终的 res.status.json(导致 200,而不是 400 响应)
慕村225694
Cats萌萌
相关分类