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