【问题标题】:RxJS Microservice-Architecture: Request API only once instead of X-times for each componentRxJS 微服务架构:每个组件只请求一次 API 而不是 X 次
【发布时间】:2020-04-08 22:21:15
【问题描述】:

我有一个面向微服务的前端(基于角度),其中每个独立组件都使用相同的字符串调用相同的 search-api。现在,这会导致前端的数据重复。我有一个集中的外观,我可以在其中注入一个单例。是否有可能在 observable 未完成时将 observable 返回给每个服务,最后,我只用搜索查询请求后端一次,而不是 X 次(x 个独立组件)?

情况:

>Search Term
----->Component X do Search --> asks API
----->Component Y do Search --> asks API
----->Component Z do Search --> asks API

我想要达到的目标:

>Search Term
----->Component X do Search --> asks API
----->Component Y do Search --> get same Observable
----->Component Z do Search --> get same Observable

提前感谢:)

【问题讨论】:

  • 一种快速的解决方法是将结果缓存在单例中,并在每次请求可观察对象时返回该结果。

标签: angular rxjs


【解决方案1】:

是的,您可以调用 API 一次,然后使用 publishReplay 和 refCount 在多个地方使用相同的 observable。

检查这个例子

https://medium.com/angular-in-depth/fastest-way-to-cache-for-lazy-developers-angular-with-rxjs-444a198ed6a6

【讨论】:

  • 太棒了!谢谢楼主!
猜你喜欢
  • 1970-01-01
  • 2013-02-08
  • 2020-02-02
  • 1970-01-01
  • 1970-01-01
  • 2012-08-16
  • 2023-04-03
  • 1970-01-01
  • 2023-03-30
相关资源
最近更新 更多