问题标签 [rx-java2]

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 回答
302 浏览

android - 这是在 rxJava2 中完成的吗?

我在我的新 Andriod 项目中将改造与 rxJava2 结合使用。我对 rxJava 1 的经验有限。

我的问题是:有没有更好的方法来写这个?我可能是错的,但这对我未经训练的眼睛来说看起来并不是很有吸引力:

0 投票
1 回答
10189 浏览

java - 如何断言 Completable 是否已被订阅/完成(RxJava2)

我无法确定Completable在我的测试中是否已订阅 a,例如:

然后在我的测试中:

这个测试会通过。但我可以重写同步方法而不使用flatMapCompletable这样的:

然后我的测试将通过,但代码将无法工作,因为即使我认为我已经调用了 insert 方法,但我没有调用subscribe()它。

我应该如何处理这件事?

PS 我是 RxJava 的新手,所以如果我没有使用最佳实践,我很想知道 :)

更新

修复了.ingnoreElements()Maxim Ostrovidov指出的不跟注的错误

0 投票
1 回答
397 浏览

rx-java - RxJava:链式异步回调式 Web 服务

我有一些从硬件设备连续发出的数据。该数据首先需要连续发送到 web 服务 A,如果有足够的数据到达,该服务会在一段时间后返回结果流。然后,每个结果必须在到达 Web 服务 B 后立即转发到 Web 服务 B,如果来自 A 的足够结果到达,则该 Web 服务 B 会在一段时间后返回不同结果的流。每个 Web 服务都有一个异步回调风格的 API。在第一次将数据发送到每个 Web 服务之前,还需要进行一些连接设置。

如何将其映射到 RxJava?

0 投票
1 回答
959 浏览

android - Rx Android 并行组合对同一服务的多个调用

我必须改进一项旧服务,该服务对同一服务进行多次连续调用并将所有结果合并到一个列表中。

假设我们有一个 IDS = [ 1 ,2 3, .. 6] 的列表,所以我必须使用每个 ID 调用相同的 API(使用改造和 Observables)。

为此,我想使用 Rx Android,但我对如何合并结果有疑问。

我们可以进行并行调用并按照相同的顺序合并结果吗?

为了提高时间响应,想法是并行执行此操作,但我不知道如何确保结果将按照我们执行服务器调用的相同顺序进行组合。

我想使用concathttp://reactivex.io/documentation/operators/concat.html),但它等待前一个 observable 等待。

0 投票
1 回答
1621 浏览

caching - RxJava 2 和在 IO 线程上使用 Realm

我在 DataManager 中创建了一个方法,它首先从缓存中下载数据,然后从服务器 API 请求数据,保存结果并将给定的网络数据发送给演示者(在 MVP 中)。

问题是当我想在后台线程上使用 Realm 时,它发生在 UI 线程上。我发现了一些关于第一个 RxJava 领域支持的文章,但我们正在使用具有另一个 API 的第二个版本,所以这些领域方法对我们没有帮助(toObservable())。

如何解决问题?

此外,正如我所看到的,所有其他方法都在 IO 线程上处理,并且只有 Realm 在 Ui 上工作,而不管我把subscribeOn(Schedulers.io()). 为什么会发生?

0 投票
2 回答
197 浏览

java - 在反应式和命令式代码之间的边界处处理 RxJava 时出错

给定一个接口:

和一些客户端代码:

使用 final 数组FastlyEnvException来捕获上下文以进行错误处理感觉就像我做错了什么,并且遗漏了某些方面。

我在这里用的是锤子而不是螺丝刀吗?即我应该为此使用 RxJava 吗?除了错误处理之外,它似乎给了我一个很好的可读流程。这样做的首选习惯用法是什么?

0 投票
1 回答
7149 浏览

java - 从编辑文本创建 Observable

我正在使用 android 数据绑定,我想从编辑文本数据中创建一个 observable,这样我就可以使用 rxjava 对其执行操作。这是我的代码。

XML

视图模型类

我有 3 个这样的编辑文本,我想在其上使用 rx java 的 combinelatest 运算符进行表单验证。在这种情况下,我究竟该如何实现 rx java?

0 投票
1 回答
283 浏览

android - Stream 中的改造调用

我有一个编辑文本,允许用户输入用户名,一旦输入用户名,值就会发送到数据库以检查用户名是否已经存在,如果不存在,则允许进一步操作,否则会显示错误。

到目前为止,这是我当前的代码。

现在网络请求是在最后发出的,但是是否可以在我收到数据之前发出请求,一旦我收到数据,我就会在流上执行一些其他操作。

0 投票
3 回答
8085 浏览

android - Retrofit2 使用 rxjava2 时出现未验证的 401 错误

自从我集成了 RxJava2 以来,我在所有返回Observable的改造调用中都收到 401 unauthenticated 错误,我正在使用基本身份验证,我知道错误是由于它,但为什么它在调试时起作用但不能在发布时起作用。

在我看来,retrofit2 的 rxjava 适配器的配置有问题

堆栈跟踪:

构建.gradle:

程序:

错误所在的基本身份验证代码:

我正在尝试解决这个问题超过 2 周,现在这是我在rxjava 问题页面上的帖子,我之前的相同问题相关问题在这里,我该如何解决这个问题并使其正常工作

0 投票
1 回答
57 浏览

rx-java2 - 如何按字段发出的事件分组?

我有一个班级用户:

和一类公司:

我需要将 a 公司发出的用户“分组”Observable<User>并返回 a Observable<Company>。我有这个:

它有效,但它只是通过 companyId 获得不同的用户。我需要设置List<User>每个公司的。我可以使用任何操作员来解决这个问题吗?