我使用最新版本的Angular和新包HttpClient执行请求:
return this.http.post('', data).pipe(
catchError(this.handleErrorObservable())
);
handleErrorObservable
是我自己的异常处理函数:
private handleErrorObservable(error: Response | any) {
return Observable.throw(error.message || error);
}
如何返回对此方法的响应并处理异常?
答案 0 :(得分:1)
你非常亲近。
return this.http.post('', data).pipe(
catchError(err => this.handleErrorObservable(err))
);
注意err
参数,这是您要查找的错误响应。然后我继续传递下去。
答案 1 :(得分:1)
首先修复您的catchError
,因为它适用于function
并返回Observable
return this.http.post('', data).pipe(
catchError(error => this.handleErrorObservable(error))
);
在新版本的rxjs
中,throw
中没有Observable
运算符,而应该使用throwError
import {throwError} from 'rxjs';
private handleErrorObservable(error: Response | any) {
return throwError(error.message || error);
}