类型'Observable <Observable <Response >>'不可分配给类型'Observable <Response>'

米格尔·莫拉(Miguel Moura)

使用Angular 10我有以下方法:

private getUser() : Observable<Response> {

  return this.authenticationService.getClaims('sub').pipe(map((claims: Claim[]) => {

    let request: Request = { userId: 1 };

    return this.userService.getByUserId(request).pipe(
      map((payload: Payload<Response[]>) => payload.result[0])
    );

  }));

}

我收到错误消息:

Type 'Observable<Observable<Response>>' is not assignable to type 'Observable<Response>'.

如何解决呢?

拉菲·亨尼格

创建一个内部Observable需要展平,这可以使用SwitchMap / MergeMap运算符来实现,如下所示:

private getUser() : Observable < Response > {

  return this.authenticationService.getClaims('sub').pipe(
    switchMap((claims: Claim[]) => {

      let request: Request = { userId: 1 };

      return this.userService.getByUserId(request).pipe(
        map((payload: Payload<Response[]>) => payload.result[0])
      );

    }));

}

这是一篇有关了解RxJS映射,mergeMap,switchMap和concatMap的精彩文章

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

类型 'Observable<Observable<Object[]>>' 不可分配给类型 'Observable<Object[]>'

来自分类Dev

RXJS Observable 枚举类型,类型 'Observable<Type>' 不可分配给类型 'Type'

来自分类Dev

输入 'Observable<any[] | Observable<any[]>>' 不可分配给类型 'Observable<any[]>'

来自分类Dev

TS2322:类型“ Observable <{}>”不可分配给类型“ Observable <Hero>”

来自分类Dev

类型 Observable<boolean> 不可分配给类型 Observable<HttpResponse<boolean>>

来自分类Dev

错误 TS2322:类型“Observable<{}[]>”不可分配给类型“Observable<Archive[][]>”

来自分类Dev

rxjs - [ts] 输入 'Observable<{} | T>' 不可分配给类型 'Observable<T>'

来自分类Dev

输入 '(token: string) => Observable<{ headers: HttpHe aders; }>' 不可分配给类型 'Observable<any>'

来自分类Dev

类型 'Date' 不可分配给类型 'Observable<Date>' - Angular 6+

来自分类Dev

类型'Observable <Promise <any >>'不可分配给类型'Observable <myRec []>'。缺少类型“ Promise <any>”

来自分类Dev

类型“ Observable <any>”不可分配给类型“ StoresSummaryResults”。类型“ Observable <any>”中缺少属性“ Data”

来自分类Dev

输入'可观察的<{} | IProduct[]>' 不可分配给类型 'Observable<IProduct[]>'

来自分类Dev

Angular 6 GridDataResult' 不可分配给类型 'Observable<GridDataResult>

来自分类Dev

可观察的<void | AuthError>' 不可分配给类型 'Observable<Action>

来自分类Dev

'map' 不存在于类型'Observable<Response>' Nativescript

来自分类Dev

无法将Observable <{}>分配给类型Observable <SomeType []>

来自分类Dev

角度:错误 TS2322:类型 'Observable<{}>' 不可分配......使用 share() 运算符

来自分类Dev

角拦截器-类型'Observable <未知>'不能分配给类型'Observable <HttpEvent <any >>'

来自分类Dev

无法将Rxjs类型Observable <Unknown>分配给Observable <void>

来自分类Dev

键入“ Observable <用户| 空| undefined>'不能分配给类型'Observable <User>'

来自分类Dev

键入“ Observable <用户| 空| undefined>'不能分配给类型'Observable <User>'

来自分类Dev

使用Angular Route Guard时:'Observable <true | undefined>'不能分配给类型>'Observable <boolean>'

来自分类Dev

类型'Observable <UI [] | 不能将Promise <any >>'分配给类型'Observable <UI []>'。输入'UI [] | Promise <any>'不能分配给类型'UI []'

来自分类Dev

类型“ Observable <Todo []>”缺少属性

来自分类Dev

不能将void类型的函数分配给Observable <any>类型

来自分类Dev

如何组合多个 Observable 类型数组 Observable<T[]>?

来自分类Dev

類型 'Observable<Task>' 不可分配給類型 'Observable<Task[]>'

来自分类Dev

如何将自定义模型类型分配给淘汰赛 observable?

来自分类Dev

Axios上的RxJS Observable如何获得对Response的访问

Related 相关文章

  1. 1

    类型 'Observable<Observable<Object[]>>' 不可分配给类型 'Observable<Object[]>'

  2. 2

    RXJS Observable 枚举类型,类型 'Observable<Type>' 不可分配给类型 'Type'

  3. 3

    输入 'Observable<any[] | Observable<any[]>>' 不可分配给类型 'Observable<any[]>'

  4. 4

    TS2322:类型“ Observable <{}>”不可分配给类型“ Observable <Hero>”

  5. 5

    类型 Observable<boolean> 不可分配给类型 Observable<HttpResponse<boolean>>

  6. 6

    错误 TS2322:类型“Observable<{}[]>”不可分配给类型“Observable<Archive[][]>”

  7. 7

    rxjs - [ts] 输入 'Observable<{} | T>' 不可分配给类型 'Observable<T>'

  8. 8

    输入 '(token: string) => Observable<{ headers: HttpHe aders; }>' 不可分配给类型 'Observable<any>'

  9. 9

    类型 'Date' 不可分配给类型 'Observable<Date>' - Angular 6+

  10. 10

    类型'Observable <Promise <any >>'不可分配给类型'Observable <myRec []>'。缺少类型“ Promise <any>”

  11. 11

    类型“ Observable <any>”不可分配给类型“ StoresSummaryResults”。类型“ Observable <any>”中缺少属性“ Data”

  12. 12

    输入'可观察的<{} | IProduct[]>' 不可分配给类型 'Observable<IProduct[]>'

  13. 13

    Angular 6 GridDataResult' 不可分配给类型 'Observable<GridDataResult>

  14. 14

    可观察的<void | AuthError>' 不可分配给类型 'Observable<Action>

  15. 15

    'map' 不存在于类型'Observable<Response>' Nativescript

  16. 16

    无法将Observable <{}>分配给类型Observable <SomeType []>

  17. 17

    角度:错误 TS2322:类型 'Observable<{}>' 不可分配......使用 share() 运算符

  18. 18

    角拦截器-类型'Observable <未知>'不能分配给类型'Observable <HttpEvent <any >>'

  19. 19

    无法将Rxjs类型Observable <Unknown>分配给Observable <void>

  20. 20

    键入“ Observable <用户| 空| undefined>'不能分配给类型'Observable <User>'

  21. 21

    键入“ Observable <用户| 空| undefined>'不能分配给类型'Observable <User>'

  22. 22

    使用Angular Route Guard时:'Observable <true | undefined>'不能分配给类型>'Observable <boolean>'

  23. 23

    类型'Observable <UI [] | 不能将Promise <any >>'分配给类型'Observable <UI []>'。输入'UI [] | Promise <any>'不能分配给类型'UI []'

  24. 24

    类型“ Observable <Todo []>”缺少属性

  25. 25

    不能将void类型的函数分配给Observable <any>类型

  26. 26

    如何组合多个 Observable 类型数组 Observable<T[]>?

  27. 27

    類型 'Observable<Task>' 不可分配給類型 'Observable<Task[]>'

  28. 28

    如何将自定义模型类型分配给淘汰赛 observable?

  29. 29

    Axios上的RxJS Observable如何获得对Response的访问

热门标签

归档