Come si restituisce un errore all'interno di un hook di operazione?Strongloop: come si restituisce un errore se Operation Hook fallisce?
Il caso d'uso invia una notifica push dopo aver salvato una nuova istanza di modello.
Osservo l'evento 'after save'
, invio push. Se questo non riesce per qualsiasi motivo, voglio inviare un codice 500 response
. Come lo faccio?
Non riesco a trovare la documentazione su cosa sia o che sia l'oggetto ctx
.
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();
});
Grazie
È possibile ispezionare l'oggetto ctx con un 'console.log (ctx)'. È l'oggetto contesto che rappresenta la richiesta e i dati associati ('ctx.instance' è l'istanza Cliente, ad esempio). Per passare gli errori tramite i hook operativi, passa l'errore tramite 'next (error); 'come ultima riga nel tuo hook. Ma è qui che finisce la mia comprensione - non sono sicuro di dove finisca o di come gestirlo in un posto centrale. – Brian
È possibile utilizzare il modulo di asserzione per generare errori in modo pulito. –