我开始学习js和nodejs。我遇到了一个问题,我花了很长时间解决。
我正在使用bcrypt库,并在require statemant上打了错字:
<div class="grid">
<div class="grid-row">
<div class="grid-cell">TEST</div>
<div class="grid-cell">TEST</div>
<div class="grid-cell">TEST</div>
</div>
<div class="grid-row">
<div class="grid-cell">TEST</div>
<div class="grid-cell">TEST Test</div>
<div class="grid-cell">TEST</div>
</div>
</div>
然后在我使用的预保存模式中:
const bcrpyt = require('bcryptjs');
所以bcrypt.hash(user.password, 10, (err, hash) => {
user.password = hash;
next();
});
是bcrypt
在我的路线上,我有
undefined
因此,发出请求后,我的状态为400,但是user.save()
.then(/*some action*/)
.catch(e => res.status(400).send(e));
是空对象e
您知道为什么没有错误,例如“在未定义时调用哈希”吗?
答案 0 :(得分:1)
您只能将消息发送给客户端:
http://server:5000
我不知道您使用的是express.js还是纯的node.js,但是如果您想在客户端看到这些错误,可以将整个服务器请求代码包装在try catch块中(例如,使用vanilla) nodejs):
res.status(400).send(e.message)