getFinanceDetails(clientId: string, type: OnvioClientUpdateType): Observable <ClientFinance> {
return this.getClientContactDetailsById(clientId, type).pipe(mergeMap((data: any) => {
const clientFinanceDetails = this.clientContactDetailsByJsonData(data);
return of(clientFinanceDetails);
})).pipe(catchError(ExceptionHandler.handleError));
}
我正在从组件中调用此函数,这是我的服务方法。所以我的问题是, 我该如何获取此错误并在catcherror函数中返回,因为Observable ClientFinance被覆盖了我的错误。
答案 0 :(得分:0)
您可以使用throwError
将其扔回去。
类似这样的东西:
import { Observable, of, throwError } from "rxjs";
import { catchError, map } from "rxjs/operators";
getFinanceDetails(clientId: string, type: OnvioClientUpdateType): Observable <ClientFinance> {
return this.getClientContactDetailsById(clientId, type)
.pipe(
mergeMap((data: any) => {
const clientFinanceDetails = this.clientContactDetailsByJsonData(data);
return of(clientFinanceDetails);
}),
catchError(error => throwError("Something went wrong: ", error))
);
}
答案 1 :(得分:0)
您可以按以下方式处理catchError
catchError(err => {
console.log('Handle error locally and rethrow it..', err);
ExceptionHandler.handleError;
return throwError('Error occurred.', err);
})