我正在通过使用承诺和链接它们来验证登录功能。 当用户输入无效密码时,拒绝数据或解析数据。 最后,我正在验证用户是否通过链接这些方法成功登录。
let verifyData = (req, res) => {
return new Promise((resolve, reject) => {
if (req.body.name) {
userModel.findOne({ name: req.body.name }).exec((err, result) => {
if (result) {
resolve(result);
} else {
reject(err);
}
});
} else {
let apiResponse = response.generate(
false,
null,
404,
"Mandatory fields missing, Please provide your userId and password"
);
reject(apiResponse);
}
});
};
当数据被拒绝时,有没有一种方法可以将状态代码发送为404? 这导致了一个问题,因为当前我正在获得200个拒绝数据的状态代码
verifyData(req, res).then(validatePassword).then((result) => {res.send(result);})
.catch((err) => {
res.send(err);
});
请参阅:https://expressjs.com/en/api.html#res.status
verifyData(req, res).then(validatePassword).then((result) => {res.send(result);})
.catch((err) => {
const status = err.STATUS_PROP; // get status from apiResponse
// or
const status = 400
res.status(status).send(err);
});