Angular 角度-理解英雄之旅的手误功能

Angular 角度-理解英雄之旅的手误功能,angular,typescript,rxjs,Angular,Typescript,Rxjs,我正在阅读本教程: 我无法完全理解使用函数:handleError进行的错误处理 该函数用于此代码段: /** GET heroes from the server */ getHeroes (): Observable<Hero[]> { return this.http.get<Hero[]>(this.heroesUrl) .pipe( tap(heroes => this.log(`fetched heroes`)),

我正在阅读本教程:

我无法完全理解使用函数:
handleError
进行的
错误处理

该函数用于此代码段:

/** GET heroes from the server */
getHeroes (): Observable<Hero[]> {
  return this.http.get<Hero[]>(this.heroesUrl)
    .pipe(
      tap(heroes => this.log(`fetched heroes`)),
      catchError(this.handleError('getHeroes', []))
    );
}
我不明白什么意思:

返回(错误:any):可观察=>{…}

这是否类似于:

返回((错误:any):可观察)=>{…}

我只是想知道函数的来源和命运


关于
handleError
函数的逻辑,您可以提供的详细信息越多越好。我想对此进行深入探讨。

当只有一个参数名时,括号是可选的,您可以从中查看更多详细信息


通用型

这允许我们捕获用户提供的类型,这是Typescript的一种类型检查方式,您可以将其称为多种方式之一

参考文献


在本例中,我们再次使用T作为返回类型。通过检查,我们现在可以看到该类型用于返回类型

private handleError<T> (operation = 'operation', result?: T) {
  return (error: any): Observable<T> => {

    ...

    return of(result as T);
  };
}

我已经知道你所指出的,但是我想知道关于泛型,还有一些关于我上面发布的具体例子的解释。谢谢你引用的那些代码,我也不明白。我希望专家能解释一下。我确实在我的应用程序中使用了handleError功能。这对我有好处。我从我的每个http调用方法调用它。返回的最后一行(结果为T);发送一个替代的Observable来代替如果没有错误就会返回的响应。我认为这个回答涵盖了您的问题:
(param1, param2, …, paramN) => { statements } 
(param1, param2, …, paramN) => expression
// equivalent to: => { return expression; } 

// Parentheses are optional when there's only one parameter name:
(singleParam) => { statements }
singleParam => { statements }

// The parameter list for a function with no parameters should be written with a pair of parentheses.
() => { statements }
private handleError<T> (operation = 'operation', result?: T) {
  return (error: any): Observable<T> => {

    ...

    return of(result as T);
  };
}