我正在更新已弃用的响应调用,但面临一个不寻常的问题,即响应未结束。通常我会使用:
res.send(200, {message: 'Location Updated'});
但现在已弃用。我切换到新代码
res.status(200).send(('Location Updated').toString());
但现在不会返回状态或结束查询。
我正在使用的完整代码
User.findByIdAndUpdate(id, update, {new: true})
.select('-hash')
.exec(function(err, user) {
if (err) return res.sendStatus(422);
if (!user) return res.sendStatus(401);
//Update User on Map if active
if(user.workday == true) {
socket.send('location_update', user);
}
res.send(200, {message: 'Location Updated'}); // Does end query but is deprecated !!!
//res.status(200).send(('Location Updated').toString()); //Doesnt end query?!?!?!?
});
答案 0 :(得分:0)
虽然res.send方法结束响应,但它不会退出该函数。您必须返回响应才能退出该函数并停止查询:
return res.status(200).send('Location Updated');