'관찰 가능' 유형에 '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
'programing' 카테고리의 다른 글
리액트의 cdn/script 태그에서 javascript 패키지를 Import하려면 어떻게 해야 하나요? (0) | 2023.04.03 |
---|---|
텍스트 주소를 사용한 Google 지도와 스트리트 뷰 지도 (0) | 2023.04.03 |
검색되지 않은 유형 오류: 'in' 연산자를 사용하여 다음 위치에서 'length'를 검색할 수 없습니다. (0) | 2023.04.03 |
Respect.js: 기본값을 프로펠러로 설정 (0) | 2023.04.03 |
AngularJS / Jasmine 테스트에서의 모킹 데이트 (0) | 2023.04.03 |