Javascript 我得到了未处理的承诺拒绝错误,即使我的代码中有catch部分

Javascript 我得到了未处理的承诺拒绝错误,即使我的代码中有catch部分,javascript,node.js,promise,Javascript,Node.js,Promise,我只是想处理post请求中的数据。我正在处理catch部分中的数据,以便将其记录到控制台中,但仍然得到未处理的错误 router.post('/', (req, res, next) => { const product = new Product({ _id: new mongoose.Types.ObjectId(), name: req.body.name, price: req.body.price }); p

我只是想处理post请求中的数据。我正在处理catch部分中的数据,以便将其记录到控制台中,但仍然得到未处理的错误

router.post('/', (req, res, next) => {
    const product = new Product({
        _id: new mongoose.Types.ObjectId(),
        name: req.body.name,
        price: req.body.price
    });
    product
        .save()
        .then(result => {
            console.log(result);
        });
        .catch(err => console.log(err));

    res.status(201).json({
        message: 'Handling post request to /products.',
        createdProduct: product
    });
});

有时数据库库会这样做。我以前也有过类似的经历。您可以使用全局错误处理程序来查看发生了什么

process.on('unhandledRejection', function(reason, p){
   //call handler here
});

这可能会让我们对这个问题有更多的了解。

那么未经处理的拒绝中的错误是什么?这很可能不是由代码所引起的问题中的代码不会编译,它有一个额外的
位于关键位置”和“在此处输入代码”占位符。请求帮助时请不要重新键入代码。使用复制和粘贴。在单击“发布问题”按钮之前,请花时间查看您的问题,以确保其正确无误。问题是:如果我们假设
是一个不在实际代码中的输入错误,那么显示的代码不会导致未处理的拒绝错误,这意味着问题在其他地方。哪些库支持/返回承诺并得到处理<代码>猫鼬
不会。我在postgres上有经验。无论如何,得到准确的错误将排除任何猜测工作。是的,我使用猫鼬。实际上,我对Node还不熟悉。@AdityaSinha尝试获取确切的错误,看看发生了什么。