我正在尝试向我的API发送请求。
我的代码就像这样
app.post('/api/create', (req, res, next) => {
if (!req.headers || !req.headers.authorization) {
return res.status(500).json({
status: 'error',
err: 'No authorization header'
});
}
const bits = req.headers.authorization.split(' ');
const scheme = bits[0];
const token = bits[1];
jwt.verify(token, 'secret', function(err, decoded) {
if (!!err) {
return res.status(400).json({
status: 'error',
err: 'Invalid credentials.'
});
}
//
const userId = decoded.id;
//
if (!userId) {
return res.status(400).json({
status: 'error',
err: 'User id missing',
});
}
//
const { postId } = req.params;
//
User.findById(userId).then(user => {
//
if (!user) {
return res.status(400).json({
status: 'error',
err: 'User not found',
});
}
//
Post.findById(postId).then(event => {
//
if (!post) {
return res.status(400).json({
status: 'error',
err: 'Post not found',
});
}
// ...
}).catch(err => {
// Could not find post
return res.status(400).json({
status: 'error',
msg: 'Could not find post',
err
});
});
}).catch(err => {
// Could not find user
return res.status(400).json({
status: 'error',
msg: 'Could not find user',
err
});
});
});
});
但是我收到了对象
的错误{
status: 'error',
msg: 'Could not find post',
err: ''
}
即。 err
完全是空的。我不知道如何调试这个。我正在使用}).catch(err => {
捕获错误,因此如果我到达catch()
块,我希望它会写出错误。
什么可能导致这个问题?