处理承诺拒绝警告。即使我之后添加了catch语句

时间:2019-02-09 19:09:45

标签: node.js mongoose es6-promise

当我将其保存到mondodb(带有mongoose)时,收到了未处理的承诺拒绝警告,但是我实现了catch语句。 所以我不明白为什么会有这个警告。

请遵循我的代码, 欢呼。

-用promise声明函数:

module.exports = {

getGameResult : () => {
    var gameResult = new GameResultModel();
    return new Promise((resolve, reject) =>{

        GameResultModel.find({}, function (err, docs){

            if (err) reject(err);
            if (!err) resolve(docs);

        });
    })

}

}

-调用函数:

 router.get("/all", (req, res) => {

databaseFunction.getGameResult()
    .then((result) => {
        res.send(result);
        res.sendStatus(200);
    })
    .catch((err) => {
        res.send(err);
        res.sendStatus(500);
    });

});

1 个答案:

答案 0 :(得分:0)

尝试一下:

GameResultModel.find({}, function (err, docs){
    if (err) reject(err);
    if (!err) resolve(docs);
}).catch(err => console.error("db.find has some error ", err));

我最近遇到了类似的问题,如果该解决方案有帮助,我将需要为您找到找到有关该问题和解决方案的详细说明的来源。