Próbuję złapać błąd z usługi, która zwraca współrzędne i zwrot domyślnie, jeśli wystąpi błąd, ale nie działa. Domyślne współrzędne nie są zwracane. Nie przejdzie nawet do subskrypcji linii.

this.coordinateService
      .getMyCoordinates()
      .pipe(
        catchError(err => {
          console.log(err);
          return of(new GeoCoordinates(0, 0));
        })
      )
      .subscribe(data => {
        this.initMap(data);
      });

Usługa:

getMyCoordinates(): Observable<GeoCoordinates> {
    throw new Error("Coordinates not found");
  }
0
genek 28 listopad 2019, 18:23

1 odpowiedź

Najlepsza odpowiedź

Musisz zwrócić obserwowalny od swojego getMyCoordinates()

import { throwError } from 'rxjs/internal/observable/throwError';

getMyCoordinates(): Observable<GeoCoordinates> {
      return throwError("Coordinates not found");
}
0
Ashot Aleqsanyan 28 listopad 2019, 15:32