如何向Angular2错误消息添加其他参数

时间:2018-03-29 15:27:42

标签: javascript angular

我继承了一些代码,我是Angular2的新手。我认为这也是使用ReactJS。我想在错误反馈中提供其他信息。但错误处理是一个返回pwf错误的函数,我不知道该怎么做。代码使用的是通用模式。这是来电者。我感兴趣的部分是Catch,它调用函数 this.handleValidationError

validate(id: string, mode: string): Observable<Hs2ImportModel> {
   let reqData = {
       importId: id,
       mode: mode
   };
   let body = 'req=' + JSON.stringify(reqData);
   let headers = new Headers();
   headers.append('Content-Type', 'application/x-www-form-urlencoded');
   headers.append('Accept', 'application/json');

   return this.http.post(
       this.appConfig.apiEndpoint + '/service/import/validate',
       body,
       {headers: headers, withCredentials: true}
       )
       .timeout(1000*60*11).retry(0)
       .map(this.mapDetails)
       .catch(this.handleValidationError);
}

这是函数

private handleValidationError (error: any) {
    let origError = ErrorUtils.errorAsString(error);
    return Observable.throw(new PwfError('Error Validating Files. ' + origError, 'INTG-VAL-001'));
}

我希望能够提供其他信息,如id,mode和其他一些东西,但我看不到如何将它们传递给hnadleValidationError,以便它们可以成为返回的Pwf错误消息的一部分

1 个答案:

答案 0 :(得分:1)

不知道Angular,但是你可以将这些细节传递给处理程序吗?

.catch((error) => this.handleValidationError(error, reqData));

或旧钱:

.catch(function(error) {return this.handleValidationError(error, reqData);});

只需将额外参数添加到handleValidationError功能。