问题标签 [rx-groovy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
686 浏览

groovy - 具有反应式编程的构建器模式

我正在尝试使用响应式编程(RxGroovy)使用构建器模式创建对象,其中属性值来自数据库查询。我首先在寻找如何去做,其次是思考这是否是一个好主意。

我试图创建的对象属于这种类型:

和建设者:

我有两个查询,一个返回所有 Foo 对象的名称,然后是一个单独的查询,我为每个 Foo 对象运行一次以获取所有相关的 ID。

我已经有一个方法(调用它queryAsObservable)来进行查询并获得一个发出结果集每一行的 Observable。所以设置name看起来像这样:

给定 a FooBuilder,我可以像这样设置relatedIds:

我的问题是如何将两者联系在一起?如何创建 observable 来为FooBuilder第一个 observable 发出的每个设置相关 ID,如图所示?最后,我只需要获取所有FooBuilder对象,并设置好namerelatedIds属性。

关于 JOIN 的注意事项

我知道我可以通过 JOIN 在一个查询中获取相关的 ID 和名称。我的想法是,我可以使用大量并行运行的较小查询,并在结果可用时使用 Observable 流为每个结果完成工作,而不是等待所有结果进入然后依次构建对象。我对为什么这是一个好主意或坏主意持开放态度。

0 投票
1 回答
89 浏览

rx-groovy - 如何在超时后获取丢失的 Observable 信息

如果我创建了一个包含十个项目的 Observable,其中三个项目超过了超时阈值,那么我怎样才能产生一个最终结果,其中包含所有已完成的项目和未完成的项目分区以形成完整的报告。

以下 Groovy 代码通过应用 15 秒的不活动超时来工作,但仅包含已完成工作的数据,使用户没有任何有关丢失项目状态的信息。

函数 getListOfReports 返回一个 Observable(同步 - 来自数据库)。函数 getReport_Async 返回一个 Observable(来自多个数据库的异步 sql)。

我怀疑将涉及一个主题,它将持有第二个订阅,并且会在超时事件之后以某种方式产生差异操作。在不采取涉及副作用的极端措施的情况下,我正在努力解决这个问题。

0 投票
1 回答
676 浏览

vert.x - 如何从 Vert.x Future 创建 Observable?

我有一个 io.vertx.core.Future 的实例,因为我需要将多个处理程序设置为同一个 Future,根据这个问题https://github.com/eclipse/vert.x/issues/1920走的路是与 Observables。

但是我发现无法从 Future 中获取 Observable。

我试过rx.Observable.from( Future )了,但它不起作用,因为它不是 Java Future。

我浏览了一下RxHelper,没有toObservable将 Future 作为参数的方法。

我错过了什么?任何帮助表示赞赏。

0 投票
1 回答
25 浏览

groovy - 如何在 RxGroovy 中使用响应式 .groupBy

我在 RxGroovy 中有以下代码:

并且类型numObservable<Integer>而不是Integer。我相信原因是默认情况下.groupBy存在。如何在 RxGroovy 中仍然使用响应式方法?Groovy .groupBy