catchError无法处理引发的错误

时间:2019-11-28 15:23:12

标签: angular rxjs

我正在尝试从返回坐标的服务中捕获错误,如果发生错误,则返回默认值,但是它不起作用。不返回默认坐标。它甚至都没有订阅行。

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

服务:

getMyCoordinates(): Observable<GeoCoordinates> {
    throw new Error("Coordinates not found");
  }

1 个答案:

答案 0 :(得分:0)

您需要从getMyCoordinates()返回“可观察”

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

getMyCoordinates(): Observable<GeoCoordinates> {
      return throwError("Coordinates not found");
}