因此,在早期版本的Angular中,我有一个通用的CRUD服务,这个服务运行良好:
deleteById<T>(id: any, apiMethod: string): Observable<T> {
let callPoint = this.endpoint.concat('/', apiMethod, '/', id);
return this.httpClient.delete<T>(callPoint, this.httpHeader)
.pipe(
retry(1),
catchError(this.processError)
)
}
processError(err: { error: { message: string; }; status: any; message: any; }) {
let message = '';
if (err.error instanceof ErrorEvent) {
message = err.error.message;
} else {
message = `Error Code: ${err.status}\nMessage: ${err.message}`;
}
console.log(message);
return throwError(message);
}
现在我收到了一个警告,指出 processError 中的 return throwError(message); 行已经过时。
如果我将此行更改为:
return new Error(message);
然后我会在 deleteById 方法中的 catchError 调用中得到错误。catchError 现在不喜欢我传递 this.processError
。
我一直在搜索互联网,但找不到任何好的示例,说明我如何能够更改这个问题。
非常感谢您的任何想法。
throwError
,而这正是我试图解决的问题。 - bilpor