
Carlos Enrique Ramírez Flores
PreguntaTengo errores con el catchError de authService.ts
es angular 7
import { Injectable } from '@angular/core'; import urljoin from 'url-join' import { environment } from 'src/environments/environment'; import { User } from './user.model'; import { HttpHeaders, HttpClient, HttpErrorResponse } from '@angular/common/http'; import { map, catchError, first } from 'rxjs/operators'; import { Observable } from 'rxjs'; import { Router } from '@angular/router'; import { MatSnackBar } from '@angular/material'; @Injectable({ providedIn: 'root' }) export class AuthService { usersUrl: string; currentUser?: User; constructor(private http: HttpClient, private router: Router, private snackBar:MatSnackBar) { this.usersUrl = urljoin(environment.apiUrl, 'auth'); if(this.isLoggedIn()){ const {userId,firstName, lastName, email} = JSON.parse(localStorage.getItem('user')); this.currentUser = new User(email,null, firstName, lastName,email); } } signup(user: User){ const body = JSON.stringify(user); const headers = new HttpHeaders({'Content-Type': 'application/json'}); return this.http.post(urljoin(this.usersUrl,'signup'),body,{headers}) .pipe( map((response: Response) => { const json:any = response; this.login(json); return json; }), catchError((error) => { console.log(error); Observable.throw(error); })); } signin(user:User){ const body = JSON.stringify(user); const headers = new HttpHeaders({'Content-Type': 'application/json'}); return this.http.post(urljoin(this.usersUrl,'signin'),body,{headers}) .pipe( map((respon: Response)=>{ const json:any = respon; this.login(json) return json; }), catchError((error: HttpErrorResponse) => { console.log(error); Observable.throw(error); })); } login = ({token, userId, firstName, lastName, email}) =>{ this.currentUser = new User(email,null, firstName,lastName,userId); localStorage.setItem('token',token); localStorage.setItem('user', JSON.stringify({userId,firstName,lastName,email})); this.router.navigateByUrl('/') } isLoggedIn(){ return localStorage.getItem('token') !== null; } logout(){ localStorage.clear(); this.currentUser = null; this.router.navigateByUrl('/') } showError(message){ this.snackBar.open(message, 'Close', { duration: 3000 }); } public handleError = (error:any) => { const { error: { name }, message } = error; if(name==='TokenExpiredError'){ this.showError('Tu sesión ha expirado') }else if(name==='JsonWebTokenError'){ this.showError('Ocurrio un problema con tu sesión'); }else{ this.showError(message || 'HO HO! A ocurrido un error, vuelve a intentarlo'); } this.logout(); } }
alguien tuvo el mismo problema ?

Walter Lensinas
¿Cuál es el error? ¿lo pudiste solucionar?