Ich bin ein REST-api zu schaffen, und ich habe diese Fehler-Handler definiert:nicht ausführen folgenden Code, wenn Fehler-Callback
function handleError(res, reason, message, code) {
console.log("ERROR: " + reason);
res.status(code || 500).json({"error": message});
}
Aber ich denke, es ist eine Art von Unterbrechung muss so dass der folgende Code nicht ausgeführt wird , denn wenn ich meine Post-Methode wie folgt implementiere:
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]);
}
});
});
Der Server stürzt ab und die ungültige Einfügung wird in die Datenbank aufgenommen. Ich könnte dieses Problem mit einem else für den Einfügeteil lösen, aber ich wollte wissen, ob es eine Möglichkeit gibt, den Rest der Methode nicht zu machen, wenn die Funktion handleError aufgerufen wird.