Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何从组件中的服务方法获取catchError消息? getFinanceDetails(clientId:string,type:OnvioClientUpdateType):可观察{ 返回此.getClientContactDetailsById(clientId,type).pipe(mergeMap((数据:any)=>{ const clientFinanceDetails=this.clientContactDetailsByJsonData(数据); 归还(客户财务详情); })).pipe(catchError(ExceptionHandler.handleError除外)); }_Angular_Typescript - Fatal编程技术网

Angular 如何从组件中的服务方法获取catchError消息? getFinanceDetails(clientId:string,type:OnvioClientUpdateType):可观察{ 返回此.getClientContactDetailsById(clientId,type).pipe(mergeMap((数据:any)=>{ const clientFinanceDetails=this.clientContactDetailsByJsonData(数据); 归还(客户财务详情); })).pipe(catchError(ExceptionHandler.handleError除外)); }

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

我从组件调用这个函数,这是我的服务方法。所以我的问题是, 我怎样才能得到catcherror函数中返回的这个错误,因为Observable ClientFinance覆盖了我的错误。

您可以使用它将其抛出

大概是这样的:

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);    
})