RxJSでエラーをキャッチする方法Angular 5
と一緒にRXJS 5.5私が使用しています5.5
私はちょうどこの
getProjectInfo(id): Observable<any> {
const URL = `${this.API}/${id}`;
return this.http.get(URL)
.pipe(map(res => res)),
catchError(this.handleServerError);
}
handleServerError(error: any) {
console.log(error.error || error.json() || error);
return Observable.throw(error.error || error.json() || error || 'Server error');
}
ような何かを行うことができます。しかし、今、私はこのエラーを取得する前に
Error:(21, 5) TS2322:Type 'UnaryFunction<Observable<{}>, Observable<any>>' is not assignable to type 'Observable<any>'.
Property '_isScalar' is missing in type 'UnaryFunction<Observable<{}>, Observable<any>>'.
私もこの
getProjectInfo(id): Observable<any> {
const URL = `${this.API}/${id}`;
return this.http.get(URL)
.pipe(map(res => res)),
catchError(err => this.handleError('getProjInfo', URL));
}
private handleError(method: String, URL: string): any {
return (err: any) => {
const errMsg = `error in ${method}() retrieving ${URL}`;
console.log(`${errMsg}:`, err);
if (err instanceof HttpErrorResponse) {
console.log(`status: ${err.status}, ${err.statusText}`);
}
return Observable.throw(errMsg);
};
}
を試してみました
私は間違って何をしていますか?
「catchError」とは何ですか?おそらく 'パイプ'の内側にあるはずです。 – martin
'catchError'は.catch''の賃貸可能verisonと.pipe' 'でなければなりません。 – Sawtaytoes