gpt4 book ai didi

javascript - 如果错误回调不执行以下代码

转载 作者:太空宇宙 更新时间:2023-11-04 03:06:36 25 4
gpt4 key购买 nike

我正在创建一个 REST api 并定义了此错误处理程序:

function handleError(res, reason, message, code) {
console.log("ERROR: " + reason);
res.status(code || 500).json({"error": message});
}

但我认为它需要某种中断,以便不执行以下代码,因为如果我像这样实现我的 post 方法:

app.post("/contacts", function(req, res) {
var newContact = req.body;
newContact.createDate = new Date();

if (!(req.body.firstName || req.body.lastName)) {
handleError(res, "Invalid user input", "Must provide a first or last name.", 400);
}
db.collection(CONTACTS_COLLECTION).insertOne(newContact, function(err, doc) {
if (err) {
handleError(res, err.message, "Failed to create new contact.");
} else {
res.status(201).json(doc.ops[0]);
}
});
});

服务器崩溃并且对数据库进行了无效插入。我可以用插入部分的 else 来解决这个问题,但我想知道是否有一种方法可以在调用函数 handleError 时不执行该方法的其余部分。

最佳答案

调用handleError函数后只需返回

  //
if (!(req.body.firstName || req.body.lastName)) {
handleError(res, "Invalid user input", "Must provide a first or last name.", 400);
return;
}
//

关于javascript - 如果错误回调不执行以下代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39191872/

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