角度错误 TS2554:预期为 0 个参数,但在管道运算符上得到 x

Suh*_*ayb 4 typescript angular

Error TS2554: Expected 0 arguments, but got 4在 observable 的管道中有一个getHappyDays()

getHappyDays()Observable 返回 a 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)
        })
      )
  }
Run Code Online (Sandbox Code Playgroud)

https://stackblitz.com/edit/angular-3iujhb // 在 happy-resolver.service

f.l*_*ris 5

首先,pipe().之后缺少分号。主要问题是getHappyDays(). 当您将其更改为Observable<HttpResponse<IHappyDays> | HttpErrorResponse>(请参阅:https : //github.com/ReactiveX/rxjs/issues/3388)时,它将起作用。

关于界面设计的注意事项:我不会HttpErrorResponse作为值返回,因为这显然是一个错误。AngularHttpClient文档提供了一些如何处理错误的指南:https : //angular.io/guide/http