【发布时间】:2021-11-17 03:25:56
【问题描述】:
我想知道我现在的时间戳是否等于或大于 ,但我遇到了一些错误
我的代码(有错误):
{...}
exports.validaforgotpass = async (req, res) => {
{...}
const results = await mysql.execute(query, [req.headers.email]);
var newDateObj = moment(now).toDate();
newdate = moment(newDateObj).format('YYYY-MM-DD hh:mm:ss');
validDate = moment(results[0].codmailtime).format('YYYY-MM-DD hh:mm:ss');
try {
if (results.length < 1) {
return res
.status(401)
.send({ user:{message: "Email não consta em nossa base de dados" }});
}
else if(req.headers.token = results[0].codmailtemp && newdate.isSameOrAfter(validDate)){
return res.status(200).send({ user:{message:'Codigo correto',cod:results[0].codmailtemp}});
}
else{
return res.status(401).send({ user:{message:'Codigo incorreto',cod:results[0].codmailtemp}});
}
} catch {return res.status(500).send({ user:{message:messsage.error}});}
} catch {return res.status(500).send({ user:{message: error.message}});}
};
有人知道为什么,以及如何解决它?
【问题讨论】:
-
您正在尝试访问
results[0].codmailtime,但您稍后检查了results.length。您需要在访问索引 0 处的元素之前检查它 -
@Anatoly 我只是用来设置一个变量来查看它是否正在获取一个值,这是因为在我将
result[0]放入条件 if 之前它也返回了这个错误 -
您能否在使用
moment的每一行之后添加console.log 以查看导致错误的行 -
@Anatoly 感谢您的关注,但我并没有声明 now 函数,对不起,我只是一个愚蠢的初中生
标签: javascript mysql node.js api momentjs