通过发出 http 请求来获取路由解析器的数据,以便第二个的结果取决于第一个的结果

琐事

我的路由模块中有一个解析器

{
    path: 'path1',
    component: FirstComponent,
    resolve: {
     allOrders: DataResolver
    }

}

然后在我的解决功能中有

resolve(): Observable<Array<string>> {

    return this.serviceA.getAllfooNames()
    .map(result=> {

         /* result is an array of strings*/
         return this.serviceB.getAllBarNames(result[0])

         /*orders is also supposed to be an array of strings*/     
          .map(orders=> return orders)                        
    });

 }
}

我希望根据allOrders存储价值订单我想将订单数组作为 ActivatedRoute 快照中的数据传递请帮忙。

保尔·克鲁伊特

您可以混合使用concatMapzip

resolve(): Observable<Array<string>> {
  return this.serviceA.getAllfooNames().pipe(
    concatMap((names) => 
      zip(...names.map((name) => this.serviceB.getAllBarNames(name)))
    ),
    map((...names) => 
      names.reduce((acc, curr) => acc.concat(curr), [])
    ) 
  ); 
}

这将返回从 serviceB 调用返回的所有字符串,在一个大的字符串数组中。

基本上它的作用是,您调用getAllfooNames,然后concatMap等待此请求完成,它会在字符串中返回一堆名称。之后,您可以与zip接线员一起领取这个操作符使用数组 map 方法执行传入的所有 observables,并在所有它们完成后发出。

然后在映射中获取它,该映射接收多个字符串数组作为参数。然后reduce可以将其放入一个大数组中。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过Cookie发出HTTP请求

来自分类Dev

与浏览器相比,通过Node.js发出的HTTP请求延迟

来自分类Dev

检查请求是否通过套接字侦听器中的HTTP或HTTPS发出

来自分类Dev

通过具有默认凭据的代理从Excel发出http获取请求

来自分类Dev

如何在Go中通过http://发出仅HTTP2的请求?

来自分类Dev

在Swift中通过标头发出HTTP请求

来自分类Dev

尝试使用Ruby HTTP起始块通过主体发出HTTP Post请求

来自分类Dev

通过连接池发出HTTP请求时,Akka Flow挂起

来自分类Dev

logstash http_poller第一个URL请求的响应应该输入到第二个URL的请求参数中

来自分类Dev

如何通过第一个表值获取第二个表值

来自分类Dev

尝试重用HTTP连接来处理Keep-Alive标头时,通过从客户端读取第二个请求来阻止recv

来自分类Dev

Django:通过比较第二个OneToOne相关模型的属性来获取第一个模型的对象

来自分类Dev

通过jsfiddle发出JSON请求

来自分类Dev

通过用户在第一个下拉菜单中的输入来更改第二个下拉菜单中的选项

来自分类Dev

通过单击第一个按钮IOS7更改第二个按钮图像

来自分类Dev

通过asp.net中的第一个弹出页面执行第二个弹出窗口

来自分类Dev

如何通过悬停第一个div显示/隐藏第二个div?

来自分类Dev

通过具有默认凭据的代理从Excel发出http获取请求

来自分类Dev

通过将第二个数组的键ID与第一个数组的键ID匹配来查找第二个数组的键类型

来自分类Dev

如何通过持久连接发出http2请求?(任何语言)

来自分类Dev

通过连接池发出HTTP请求时,Akka Flow挂起

来自分类Dev

如果在我收到第一个请求的响应之前发出了第二个HTTP请求,会发生什么情况?

来自分类Dev

如何通过第一个表值获取第二个表值

来自分类Dev

通过添加第二个表的日期并减去SQL中第一个表的结果,根据第二个表中的值创建表视图

来自分类Dev

无法通过http ruby gem发出api请求

来自分类Dev

如何通过单击第一个操作表中的按钮来显示第二个操作表,Swift

来自分类Dev

如何通过单击第一个按钮刷新第二个窗口

来自分类Dev

如何通过身份验证在 swift 上发出 http 请求?

来自分类Dev

通过在 Perl 中通过数组的哈希映射第一个索引来获取第二个索引的值

Related 相关文章

  1. 1

    如何通过Cookie发出HTTP请求

  2. 2

    与浏览器相比,通过Node.js发出的HTTP请求延迟

  3. 3

    检查请求是否通过套接字侦听器中的HTTP或HTTPS发出

  4. 4

    通过具有默认凭据的代理从Excel发出http获取请求

  5. 5

    如何在Go中通过http://发出仅HTTP2的请求?

  6. 6

    在Swift中通过标头发出HTTP请求

  7. 7

    尝试使用Ruby HTTP起始块通过主体发出HTTP Post请求

  8. 8

    通过连接池发出HTTP请求时,Akka Flow挂起

  9. 9

    logstash http_poller第一个URL请求的响应应该输入到第二个URL的请求参数中

  10. 10

    如何通过第一个表值获取第二个表值

  11. 11

    尝试重用HTTP连接来处理Keep-Alive标头时,通过从客户端读取第二个请求来阻止recv

  12. 12

    Django:通过比较第二个OneToOne相关模型的属性来获取第一个模型的对象

  13. 13

    通过jsfiddle发出JSON请求

  14. 14

    通过用户在第一个下拉菜单中的输入来更改第二个下拉菜单中的选项

  15. 15

    通过单击第一个按钮IOS7更改第二个按钮图像

  16. 16

    通过asp.net中的第一个弹出页面执行第二个弹出窗口

  17. 17

    如何通过悬停第一个div显示/隐藏第二个div?

  18. 18

    通过具有默认凭据的代理从Excel发出http获取请求

  19. 19

    通过将第二个数组的键ID与第一个数组的键ID匹配来查找第二个数组的键类型

  20. 20

    如何通过持久连接发出http2请求?(任何语言)

  21. 21

    通过连接池发出HTTP请求时,Akka Flow挂起

  22. 22

    如果在我收到第一个请求的响应之前发出了第二个HTTP请求,会发生什么情况?

  23. 23

    如何通过第一个表值获取第二个表值

  24. 24

    通过添加第二个表的日期并减去SQL中第一个表的结果,根据第二个表中的值创建表视图

  25. 25

    无法通过http ruby gem发出api请求

  26. 26

    如何通过单击第一个操作表中的按钮来显示第二个操作表,Swift

  27. 27

    如何通过单击第一个按钮刷新第二个窗口

  28. 28

    如何通过身份验证在 swift 上发出 http 请求?

  29. 29

    通过在 Perl 中通过数组的哈希映射第一个索引来获取第二个索引的值

热门标签

归档