我试图将信息保存到我的数据库中的用户架构中。我正在使用" user.save"但由于某种原因,括号内的代码没有运行。
user.save(function(err) {
//THIS CODE DOESNT SEEM TO RUN
if (err) {
console.log(err);
} else {
res.json({ message: 'given a reset-token' })
}
//
});
所以我切换到以下代码,因为我需要从服务器获取成功消息:
user.save((err) => {
console.log('hello');
if (err) {
console.log(err);
console.log('err2');
res.status(404).json({ message: 'Save error' });
}
}).then(() => {
res.status(201).json({ message: 'Activated' });
});
当用户的更改被推送到数据库时,Witch成功向我发送状态代码。谁能解释为什么第二个有效,第一个无效?如果有更好的方法来编写这段代码?
答案 0 :(得分:0)
好像你正在使用promises所以你可以使用.catch()来捕获错误
user
.save()
.then(() => {
res.status(201).json({ message: "Activated" });
})
.catch(err => {
console.log(err);
console.log("err2");
res.status(404).json({ message: "Save error" });
});