.catch (error => {}) не показывает мою ошибку, когда я на нее отвечаю. Но когда я утешаю его, это показывает ошибку - PullRequest
0 голосов
/ 03 марта 2020

Я работаю над API, и у меня возникают проблемы с ошибками. Когда я ответил на это, он показывает мне пустой массив в почтальоне, но в логгере он показывает мне ошибку. Это мой код Cluster1 и Cluster2 - это две коллекции, которые я собираю для них. Таким образом, в коде я пытаюсь, что если идентификатор найден в cluster1 (который является коллекцией продуктов), то опубликовать свой заказ в cluster2 затем (вернуть обещание при сохранении), но я сам создал ошибку, которую я прокомментировал ниже, чтобы проверить, что либо обе .catch() функции обратного вызова работают или нет.

enter image description here

app.post('/orders',(req,res,next)=>{
const id=req.body.id;
console.log(id);
Cluster1.findById(id,()=>{
    order = new Cluster2 ({
        productId:id,
        quantity:req.body.quantity,
        pName:req.body.pName,
        });
    order.save().then(order=>{
        res.json({
            message:"Your order has been Posted",
            YourPostedOrderIs:order.pName,
            YourQuantityis:order.quantity,
            YouPriceis:(pPrice*quantity),//I on purpose make this error to check the error when this 
id is fin in cluster1
            YourRequestIs:{type:"Post",url:"http://localhost:1111/"+order.productId}
        })
        })
//This Catch call back function give me empty error in postman when I response it.
    .catch(error=>{
        res.json(error);
        console.log(error);
    })
    })
.catch(error=>{
    res.json("Out Of Stock You cant Place the Order");
})
})

Ответы [ 2 ]

0 голосов
/ 03 марта 2020

Вместо res.json(error); попробуйте следующее:

res.status(500).json({
    message: error.message || "INTERNAL SERVER ERROR"
})
0 голосов
/ 03 марта 2020

Попробуйте вернуть разрешение. json примерно так:

return res.json(500, {
                    error,
                    message: "some error"
                 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...