Saltar al contenido

error TS2339: la propiedad ‘handleError’ no existe en el tipo ‘HeroService’ con Angular

Solución:

Se “mencionó” un poco en el tutorial de ToH, en la parte “Manejo de errores” en el capítulo HTTP. Pero no estaba realmente claro que necesitara agregar esta parte del código a su archivo “hero.service.ts” (al menos si tiende a no leer completamente el texto):

private handleError(error: any): Promise<any> {
    console.error('An error occurred', error); // for demo purposes only
    return Promise.reject(error.message || error);
 }

Lo agregué al final dentro de la clase HeroService y todo funcionó. Espero que también funcione para ti :).

La propiedad ‘handleError’ no existe en el tipo ‘HeroService’

Las funciones también son propiedades.

getHeroes(): Promise<Hero[]> {
    return this.http.get(this.heroesUrl)
        .toPromise()
        .then(response => response.json().data as Hero[])
        .catch(this.handleError);  <=== Where is this? Not in HeroService
}

Necesitas definir un handleError método en el HeroService clase

handleError(error) {
  // do something with error
}

Parece que te perdiste esta parte del tutorial 🙂

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *