programing

'관찰 가능' 유형에 'catch' 속성이 없습니다.

powerit 2023. 4. 3. 21:48
반응형

'관찰 가능' 유형에 'catch' 속성이 없습니다.

Http 서비스를 사용하기 위한 Angular 2 문서 페이지에 예가 있습니다.

getHeroes (): Observable<Stuff[]> {
  return this.http.get(this.url)
                  .map(this.extractData)
                  .catch(this.handleError);
}

angular2-web-pack-starter 프로젝트를 복제하여 위의 코드를 직접 추가하였습니다.

Import했다Observable사용.

import {Observable} from 'rxjs/Observable';

제 생각엔 그 물건들이Observable(도 Import 됩니다)..map동작합니다).창구에서 rxjs를 확인했습니다.β-6에 대해서는 아무것도 언급되어 있지 않다.catch.

경고:이 솔루션은 Angular 5.5 이후 권장되지 않습니다. 아래 트렌트의 답변을 참조하십시오.

=====================

네, 연산자를 Import해야 합니다.

import 'rxjs/add/operator/catch';

또는 ImportObservable이 방법:

import {Observable} from 'rxjs/Rx';

그러나 이 경우 모든 연산자를 가져옵니다.

상세한 것에 대하여는, 다음의 질문을 참조해 주세요.

RxJ 5.5+에서는catch연산자가 사용되지 않게 되었습니다.이 시점에서catchError와 연계한 연산자pipe.

RxJs v5.5.2는 Angular 5의 기본 종속 버전입니다.

Import하는 각 RxJ 연산자에 대해 다음을 포함합니다.catchError이제 'supplyjs/supply'에서 가져오고 파이프 연산자를 사용해야 합니다.

Http 요청 관찰 가능 오류 캐치 예시

import { Observable } from 'rxjs';
import { catchError } from 'rxjs/operators';
...

export class ExampleClass {
  constructor(private http: HttpClient) {
    this.http.request(method, url, options).pipe(
      catchError((err: HttpErrorResponse) => {
        ...
      }
    )
  }
  ...
}

여기서 주의해 주세요catch로 대체되었습니다.catchError및 그pipe연산자는 도트 체인에 익숙한 것과 유사한 방법으로 연산자를 구성하는 데 사용됩니다.


자세한 내용은 pipable(이전에는 lettable) 연산자에 대한 rxjs 문서를 참조하십시오.

각도 8:

//for catch:
import { catchError } from 'rxjs/operators';

//for throw:
import { Observable, throwError } from 'rxjs';

//and code should be written like this.

getEmployees(): Observable<IEmployee[]> {
    return this.http.get<IEmployee[]>(this.url).pipe(catchError(this.erroHandler));
  }

  erroHandler(error: HttpErrorResponse) {
    return throwError(error.message || 'server Error');
  }

사용하고 있는 Angular 버전과 각 버전을 확인합니다.

import {Observable} from 'rxjs';

또는

import {Observable} from 'rxjs/Rx';

언급URL : https://stackoverflow.com/questions/37073705/property-catch-does-not-exist-on-type-observableany

반응형