TS2339: (TS) Свойство ‘catch’ не существует для типа ‘Наблюдаемый’

#angular

#angular

Вопрос:

Мой код, который я пытался внедрить, показывает, что ‘catch’ не существует.

 import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs';
import { User } from '../Model/User';
import { environment } from '../../environments/environment';
import 'rxjs/add/operator/catch';  

@Injectable()
export class UserService {
  headers: HttpHeaders;
  constructor(private httpClient: HttpClient) {
    this.headers = new HttpHeaders({ 'content-type': 'application/json' });
  }
  GetUser(): Observable<User[]> {
    return this.httpClient.get(environment.apiAddress   '/user').catch(err => Observable.throw(err));
  }
}
  

Комментарии:

1. Сначала вы должны подписаться, а затем перехватить что-либо или использовать канал rxjs

Ответ №1:

Вам нужно передать наблюдаемое.

 GetUser(): Observable<User[]> {
  return this.httpClient.get(environment.apiAddress   '/user').pipe(
    catchError(err => throw(err)),
  );
}