最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

findById(req.params.id)返回null作为响应?

IT培训 admin 5浏览 0评论

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中不存在。

发布评论

评论列表 (0)

  1. 暂无评论