Gestire le eccezioni in una chiamata AJAX con Angular 2

di Stefano Mostarda, in HTML5, Angular 2,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi