【问题标题】:Sending multiple http get requests in loop using angular使用角度循环发送多个http get请求
【发布时间】:2021-11-16 23:40:19
【问题描述】:

我在服务器上有一个端点,它返回数百万条记录,这使得 Angular 应用程序无响应,所以我需要在服务器端使用分页,并同步多次调用请求。

为此,我需要发送 http 请求以逐个获取页面,因此我需要将第一个请求发送到 GET 第 1 页,第二个到 GET 第 2 页,....等等,直到服务器返回空响应指示如果这是最后一个可用页面,那么循环应该中断。

如何使用 angular http 和 observables 来做到这一点?

【问题讨论】:

  • 如果您在一个循环中分段执行相同的单个长请求,这将如何使其响应更快?
  • 因为我不会阻止 UI 等待数百万条记录从服务器响应,但我会在每次响应服务器响应时将连接的页面一一显示在表上
  • 我理解这个概念,但让我印象深刻的是“同步多次调用请求”。因此,如果用户对最后一页上的最后一项感兴趣,他们将不得不等到它全部加载完毕。您对设计和使用有更多了解,但考虑到用户不可能查看如此大量的数据,下拉数百万条记录似乎没有多大用处。如果 api 已经实现了分页,我想知道为什么您实际上不会以正常方式对其进行分页。祝你好运:)
  • 我还能做些什么,你能和我分享你的想法吗?如果有第二个意见会很有帮助

标签: angular http https rxjs observable


【解决方案1】:

RxJS expand 运算符非常适合递归调用分页 API 资源

这个对类似(但不同)问题的回答将是一个很好的例子,尽管您可能决定不使用 reduce 运算符,它会建立一个响应集合并仅在收到所有响应后才发出它们

【讨论】:

    猜你喜欢
    • 2018-11-13
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 2013-04-10
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多