【问题标题】:What are real world examples of RxJS?RxJS 的真实世界示例是什么?
【发布时间】:2019-10-12 04:30:29
【问题描述】:

我很难理解 RxJS 的概念。我了解可观察对象和主题,但我无法将其用于现实世界的应用程序。你能给我一些使用 RxJS 的真实例子吗?

【问题讨论】:

  • 几乎每个 Angular 项目?
  • @jonrsharpe 我不使用 Angular,而是使用 React。 RxJS 是如何替代 valinaJS 的?
  • 当您需要随时间跟踪变量的值时,您可以使用 Rx。如果您只是在某个地方var x = getVariableValue(),并且该函数返回在一分钟后发生变化,则 x 仍将是旧值。如果在方法返回发生变化时需要 x 发生变化,则使用 Rx 订阅所有变化。否则,您将不得不setInterval(() => { var x = getVariableValue(); }, 1000) 或其他东西,这是hacky 并且不太易于维护。
  • @ritaj 例如,聊天?

标签: rxjs reactivex


【解决方案1】:

正如您在其中一个 cmets 中所怀疑的那样,RXJS 经常与状态管理结合使用。

当您在 Angular 中使用 Store 时,通常会创建一个所谓的 状态选择器,它们是可观察的。例如。您为您的办公室 ID 创建一个选择器。当您现在订阅此选择器/可观察对象时,每次存储/状态更改办公室 ID 时,您的可观察对象都会发出新的办公室 ID。仅此一项就已经很棒了,因为您可以将 html 模板变量绑定到这些 observable,这会自动更新您页面中的 office id。

在高级情况下,您可以在 observables 上使用大量所谓的“操作符”,您可以使用它们“插入”像乐高积木这样的复杂场景。例如。使用办公室 ID,您从服务器(员工)获取远程内容,按名称对其进行排序,然后将它们转换为第三方 Angular 组件所需的 json 结构。所有这些都在一个 rxjs 流中。所有单个步骤,如果它们是异步的,它们会相互等待,因为它们本身就是可观察的,当它们有新数据时会发出。

【讨论】:

    【解决方案2】:

    RxJS observables 通常用于 HTTP 请求,另一个常见的应用程序是与 WebSockets 结合使用,您可以在其中获得异步数据流。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-23
      • 2010-10-14
      • 2016-11-26
      • 1970-01-01
      • 2012-05-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多