Quando eseguiamo una chiamata AJAX dobbiamo gestire la possibilità che questa fallisca. Il metodo catch della classe Observable<T> serve esattamente questo scopo in quanto viene invocato non appena la chiamata AJAX va in errore. Questo metodo accetta in input una funzione da invocare in caso di eccezione e questa funzione accetta come parametro un oggetto che rappresenta l'errore. Nel prossimo esempio possiamo vedere come utilizzare il metodo.
getPeople (): Observable<Person[]> { return this.http.get(this.url) .map(this.manipulateData) .catch(this.onError); } private onError (error: any) { var errorMessage = (error.message) ? error.message : error.status ? `${error.status} - ${error.statusText}` : 'Server error'; console.error(errorMessage); return Observable.throw(errorMessage); }
Il metodo onError recupera il messaggio di errore dall'errore di input e lo logga sulla console. Infine risolleva l'eccezione così da segnalarla al chiamante del metodo getPeople.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Creare un webhook in Azure DevOps
Eseguire script pre e post esecuzione di un workflow di GitHub
Referenziare un @layer più alto in CSS
Cambiare la chiave di partizionamento di Azure Cosmos DB
Usare il colore CSS per migliorare lo stile della pagina
Recuperare l'ultima versione di una release di GitHub
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Ottimizzazione dei block template in Angular 17
Utilizzare l nesting nativo dei CSS
Utilizzare gRPC su App Service di Azure
Documentare i servizi REST con Swagger e OpenAPI con .NET 9