gpt4 book ai didi

javascript - Mongoose 和多次保存错误处理

转载 作者:行者123 更新时间:2023-12-03 07:56:22 25 4
gpt4 key购买 nike

我正在使用 Mongoose + Express构建一个简单的MERN应用。
我需要创建多个文档并保存它们,但是我需要捕获所有错误。
我正在使用此代码并且它可以工作,但是我想一次处理所有错误,而不是重复多次相同的代码。
如果使用try ... catch块并删除回调错误处理程序,则会获得UnhandledPromiseRejectionWarning。

  model.save((err, doc) => {
if (err) return console.error(`ERR ${err.message}`);
});

我已经试过了:
export const init = async () => {
try {
const newDoc = new MyModel({ test: 'test'});
const savedDoc = await newDoc.save();
console.log('All done :)');
} catch (err) {
console.log('Error');
res.status(400).send(err);
}
}
但是我无法捕捉到该错误:在 Debug模式下,程序从不进入catch块,并且在出现错误的情况下获得(例如):
UnhandledPromiseRejectionWarning:MongoError:E11000重复键错误集合
有什么建议吗?

最佳答案

model.save()
.then(success => {
if(!success) {
// Handle your error
}

// Success
return model2.save();
})
.then(success2 => {


})
// etc..
.catch(err => {
// Handle your error
});

关于javascript - Mongoose 和多次保存错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63831699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com