可观察的Error TS2554: Expected 0 arguments, but got 4
的管道中有一个getHappyDays()
getHappyDays()
可观察到的返回Observable<HttpResponse<IHappyDays>> | Observable<HttpErrorResponse>
,我包含了stackblitze以便更好地展示问题
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot):
Observable<IHappyDays> | Observable<never> {
return this.happyService.getHappyDays()
.pipe(//=>error thrown here
first(),
mergeMap((res) => {
return of(res.body)
})
)
}
https://stackblitz.com/edit/angular-3iujhb //在happy-resolver.service中
答案 0 :(得分:1)
第一,pipe()
之后缺少分号。主要问题是getHappyDays()
中的联合返回类型。当您将其更改为Observable<HttpResponse<IHappyDays> | HttpErrorResponse>
(请参阅:https://github.com/ReactiveX/rxjs/issues/3388)时,它将起作用。
关于界面设计的注意事项:我不会返回HttpErrorResponse
作为值,因为这显然是一个错误。 Angular HttpClient
文档提供了一些如何处理错误的准则:https://angular.io/guide/http