Ich folge Loopback-Rahmen-Tutorial, speziell diese Seite https://docs.strongloop.com/display/public/LB/Extend+your+API gibt es ein Beispiel-Code, der eine Instanz von ID findet, modifizierte ich es ein bisschen inexistent Instanzen zu handhabenLoopback PersistedModel() Fehler finden
Coffeeshop.getName=function(id, cb)
{
Coffeeshop.findById(id, function(err, shop){
if(err)
{
console.log(err);
cb(err);
}
else
cb(null, 'Name of the coffee shop is '+shop.name);
});
};
es funktioniert alles gut, wenn ich es mit bestehenden ID nennen, aber wenn ich eine ungültige ID eingeben, statt den Aufruf der err
Handler es völlig ausgelassen, die else
Anweisung aufgerufen wird und die ganze app stürzt mit der folgenden Konsole Fehler
/app/path/here/node_modules/mysql/lib/protocol/Parser.js:78
throw err; // Rethrow non-MySQL errors
Ich bin neu bei node.js und ich bin mir ziemlich sicher, dass ich etwas hier vermisse, aber sollte der Fehler nicht in die Callback-Funktion übergeben werden, anstatt auf die oberste Ebene geworfen zu werden?
Dies scheint nicht mysql Backend-spezifische, ich wechselte zu Mongo-Connector und bekam ein ähnliches Problem. Wie man einen solchen Fehler richtig behandelt?
danke, dieser Ansatz funktioniert. Ich war verwirrt durch mysql Ausnahme, ich erwartete, dass es als 'err' Parameter zu meinem Rückruf übergeben wird. wissen Sie, wann dieser Parameter verwendet wird? Wenn es einen Abfragefehler oder etwas Ähnliches gibt? –
Server getrennt wird durch diesen Fehler sicher. Ich weiß nicht für 'findById', aber für Methoden wie' create', Validierungsfehler und für 'User.login' wird ein fehlgeschlagener Login-Fehler gemeldet. –