Wie geben Sie einen Fehler innerhalb eines Operation Hooks zurück?Strongloop: Wie gibt man einen Fehler zurück, wenn Operation Hook fehlschlägt?
Anwendungsfall sendet eine Push-Benachrichtigung nach dem Speichern einer neuen Modellinstanz.
Ich beobachte das 'after save'
Ereignis, senden Sie den Push. Wenn dies aus irgendeinem Grund fehlschlägt, möchte ich einen 500 response
Code senden. Wie mache ich das?
Ich kann keine Dokumentation finden, was das ctx
Objekt tatsächlich ist oder enthält.
Customer.observe('after save', function(ctx, next) {
//model saved, but sending push failed for whatever reason, and I want to now send a 500 error back to the user
//how? what's inside ctx? how do you send back a response?
next();
});
Danke
Sie können das ctx-Objekt mit einem 'console.log (ctx)' untersuchen. Es ist das Kontextobjekt, das die Anforderung und die zugehörigen Daten darstellt ("ctx.instance" ist beispielsweise Ihre Kundeninstanz). Um Fehler über Operation Hooks zu übergeben, übergeben Sie den Fehler über 'next (error);' als letzte Zeile in Ihrem Hook. Aber hier endet mein Verständnis - ich bin mir nicht sicher, wo das endet oder wie man es an einem zentralen Ort behandelt. – Brian
Sie können Assert-Modul verwenden, um Fehler auf saubere Weise zu werfen. –