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

Javascript 如何向Angular2错误消息添加其他参数,javascript,angular,Javascript,Angular,我继承了一些代码,对Angular2来说我是新手。我认为这也是在使用ReactJS。我想在错误反馈中提供更多信息。但是错误处理是一个返回pwf错误的函数,我不知道怎么做。代码使用了一个公共模式。这是打电话的人。我感兴趣的部分是Catch,它调用函数this.handleValidationError validate(id: string, mode: string): Observable<Hs2ImportModel> { let reqData = { im

我继承了一些代码,对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);
}

我希望能够提供额外的信息,如id、模式和其他一些信息,但我不知道如何将它们传递到hnadleValidationError中,以便它们可以成为返回的Pwf错误消息的一部分。

不知道Angular,但您能像这样将详细信息传递给处理程序吗

.catch((error) => this.handleValidationError(error, reqData));
或者用旧币:

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

只需将额外的参数添加到
handleValidationError
函数中即可。

第二个参数很接近,但我在函数中遇到了一个TS语法错误,即类型为“(error:any)+>void”的参数不能分配给类型为“”的参数(err:any,catch:Observable………还有更多,但底线和我真正困惑的根源是函数显示了这个错误参数:any,但在现有的工作代码(以及它派生的示例)中,调用中没有传递任何参数。另一个答案可能更好。请尝试
.catch(函数)(error:any){….};
。请注意,您的代码不是在调用handleValidationError函数,而是在必要时为catch函数指定要调用的名称。catch函数在调用您的函数时将提供error参数。它需要return关键字。我已编辑了答案。
.catch(function(error) {return this.handleValidationError(error, reqData);});