Angular 如何从组件中的服务方法获取catchError消息? getFinanceDetails(clientId:string,type:OnvioClientUpdateType):可观察{ 返回此.getClientContactDetailsById(clientId,type).pipe(mergeMap((数据:any)=>{ const clientFinanceDetails=this.clientContactDetailsByJsonData(数据); 归还(客户财务详情); })).pipe(catchError(ExceptionHandler.handleError除外)); }
我从组件调用这个函数,这是我的服务方法。所以我的问题是, 我怎样才能得到catcherror函数中返回的这个错误,因为Observable ClientFinance覆盖了我的错误。您可以使用它将其抛出 大概是这样的:Angular 如何从组件中的服务方法获取catchError消息? getFinanceDetails(clientId:string,type:OnvioClientUpdateType):可观察{ 返回此.getClientContactDetailsById(clientId,type).pipe(mergeMap((数据:any)=>{ const clientFinanceDetails=this.clientContactDetailsByJsonData(数据); 归还(客户财务详情); })).pipe(catchError(ExceptionHandler.handleError除外)); },angular,typescript,Angular,Typescript,我从组件调用这个函数,这是我的服务方法。所以我的问题是, 我怎样才能得到catcherror函数中返回的这个错误,因为Observable ClientFinance覆盖了我的错误。您可以使用它将其抛出 大概是这样的: getFinanceDetails(clientId: string, type: OnvioClientUpdateType): Observable <ClientFinance> { return this.getClientContactDetailsBy
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));
}
从“rxjs”导入{Observable,of,throwError};
从“rxjs/operators”导入{catchError,map};
getFinanceDetails(clientId:string,类型:OnvioClientUpdateType):可观察{
返回此.getClientContactDetailsById(clientId,类型)
.烟斗(
合并地图((数据:任意)=>{
const clientFinanceDetails=this.clientContactDetailsByJsonData(数据);
归还(客户财务详情);
}),
catchError(error=>throwError(“出错了:”,error))
);
}
您可以如下处理catchError
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))
);
}
catchError(err => {
console.log('Handle error locally and rethrow it..', err);
ExceptionHandler.handleError;
return throwError('Error occurred.', err);
})