При наведении курсора на .catch(this.errorHandler)
появляется сообщение об ошибке
Свойство 'catch' не существует для типа 'Observable'.ts (2339)
Я не могу импортировать функцию catch в угловой текст.
При наведении на .catch(this.errorHandler)
появляется сообщение об ошибке
Свойство catch не существует натип 'Observable'.ts (2339)
Согласно другому сообщению стека: Свойство' catch 'не существует для типа' Observable ' Я должен просто добавить:
import 'rxjs/add/operator/catch'
Я также пытался импортировать
import {Observable} from 'rxjs/Rx';
и
import { catchError } from 'rxjs/operators';
и использовать catchError вместо catch.
Ничего из этого не сработало
import { Injectable } from '@angular/core';
import { HttpClient, HttpErrorResponse } from '@angular/common/http';
import { IEmployee } from './employee';
import { Observable, fromEventPattern } from 'rxjs';
import 'rxjs/add/operator/catch';
import {catchError} from "rxjs/operators"
import 'rxjs/add/observable/throw';
@Injectable({
providedIn: 'root'
})
export class EmployeeService {
private _url : string = "../assets/data/employees.json";
constructor(private http: HttpClient) { }
getEmployees(): Observable<IEmployee[]>{
return this.http.get<IEmployee[]>(this._url)
.catch(this.errorHandler)
}
errorHandler(error:HttpErrorResponse){
return Observable.throw(error.message ||"Server Error")
}
}