findById(req.params.id)返回null作为响应?
我的问题与其他人不同,当我传递/:id时,我返回JSON是的,这是可以的,但是问题是当我给错误的objectId时,它返回带有statusCode 200的null值,而不是该id错误的错误。根据我的理解,因为id在数据库上不可用,所以它调用.catch块而不是.then块。
const get_id_docs = async (req, res) => {
await models
.findById(req.params.id)
.then(result => {
res.send(result)
})
.catch(err => {
res.sendStatus(404).send("Link Not Found")
})
};
回答如下:有两种情况,一种是无效的ID,另一种是有效的ID,但在db中不存在。
findById(req.params.id)返回null作为响应?
我的问题与其他人不同,当我传递/:id时,我返回JSON是的,这是可以的,但是问题是当我给错误的objectId时,它返回带有statusCode 200的null值,而不是该id错误的错误。根据我的理解,因为id在数据库上不可用,所以它调用.catch块而不是.then块。
const get_id_docs = async (req, res) => {
await models
.findById(req.params.id)
.then(result => {
res.send(result)
})
.catch(err => {
res.sendStatus(404).send("Link Not Found")
})
};
回答如下:有两种情况,一种是无效的ID,另一种是有效的ID,但在db中不存在。