问题标签 [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 回答
1085 浏览

android - 如何使用 RxJava2 和 Retrofit2 处理无内容响应

我正在使用RxJava 2& Retrofit 2https://github.com/JakeWharton/retrofit2-rxjava2-adapter),我想知道如何处理无响应(204)类型。在 rxjava1 我正在使用Observable<Void>但 rxjava2 不再允许它(https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0 -> Nulls)

现在,我已经绕过自定义类型(我称之为 NoContent)的 Json 解析,但我想知道是否有更好的方法。

编辑:

0 投票
1 回答
3556 浏览

rx-java2 - 无法解析方法'订阅(匿名 io.reactivex.functionx.Consumer>)' 在 rxjava2 中?

在 toList 运算符执行后,原始 Flowable<<\List>> 转换为 Single<<\List>>。事实证明,如果我创建 Consumer 来订阅 Single,除了 Object 之外,不能更改 Consumer 值类型?

0 投票
0 回答
1089 浏览

rx-java - RxJava2:压缩的可观察对象中的多个错误引发异常

我通过压缩它们并行执行多个 HTTP 调用。现在 0..n 他们显然会失败。问题是,当例如 2 次调用几乎在准确的时间失败时,错误 1 ​​被处理,doOnErroronErrorReturnItem错误 2 滑过并导致异常。我认为如果错误 2 碰巧出现,而错误 1 ​​仍未在这两个 onError 运算符中完全处理,就会发生这种情况。

可以使用以下简化代码重现它:

所以每隔一段时间就会抛出:

不应该Single.zip只允许发出一个错误吗?有一个更好的方法吗?

0 投票
1 回答
993 浏览

rx-android - 在带有 JDK8 的 Android 上使用 RxJava2 启用登录按钮

当用户名和密码足够长时,我想使用 RxJava2 启用登录按钮,但出现错误。

对于您看到的两个部分,map(inputText这是错误:

在此处输入图像描述

错误a && b

在此处输入图像描述

还有其他错误,但我认为前两个错误是根本原因,但我不知道应该使用什么来代替Observable.combineLatest现在。

0 投票
0 回答
88 浏览

rx-java2 - 可观察的窗口 groupBy 导致 OutOfMemoryError

我试图弄清楚如何使用 Observable.groupBy 来限制在一段时间内按键推送的元素数量。我最终得到以下构造:

虽然 subscribe 的 onNext 回调被调用了几千次,但我认为这应该意味着 flatMapMaybe 确实正确订阅了所有 GroupedObservableSource。过了一会儿,RxComputationThreadPool 中的一个线程,但我不明白我错过了什么

0 投票
1 回答
494 浏览

rx-java - RxJava2:如何改进并行数据下载和缓存?

我正在努力通过 RxJava2。我想知道我的解决方案是否可以接受,或者有什么方法可以改进它。

用例

  1. 用户按下更新数据按钮
  2. 显示一个对话框 - 请稍候
  3. 多个后端调用并行处理
  4. 一旦完成任何这些 - 数据将保存在本地数据库中
  5. 在所有请求完成后(后端调用和持久化),对话框应该被关闭

当前解决方案

我有几个Completables看起来像这样:

我通过添加到列表并使用运算符将​​它们打包成一个merge

可能的改进

好的,所以这按预期工作。但有些事情我并不那么高兴。

我真的必须添加subscribeOn(Schedulers.io())到每个 Completable 吗?没有它就不能并行工作,但也许有更好的方法来做到这一点?

所有可完成项都有这些行。

有没有办法将它提取到一种方法中?我试过这样的事情:

我只是将 Observable 和 DAO 放入其中。当然编译不了。似乎它需要的泛型知识比我已经拥有的要多得多。

抱歉,这个问题很长,很难用几句话来解释整个用例。

0 投票
1 回答
322 浏览

android - RxJava2 中具有多个订阅者的单个异步事件

我有一个处理图像的类,这可能是一个缓慢的过程。工作完成后,该类包含有关图像的一些特征,例如主色。

我有很多其他的代码想要知道主色,当他们请求它时,它可能准备好也可能还没有准备好。

我还没有找到一种使用 RxJava2 来实现它的简单方法。有人能帮我吗?

总而言之,如果我可以创建一个方法,那就太好了:

  1. 允许多个订阅者呼叫/订阅。
  2. 处理完成后,订阅者会收到结果。
  3. 订阅者会自动取消订阅以避免内存泄漏。不会有第二个事件,也没有理由仍然被订阅。
  4. 稍后订阅/调用该方法的订阅者只会获取缓存的值。

ReplaySubject 似乎有一些我正在寻找的属性,但我不确定如何正确实现它。

0 投票
1 回答
13665 浏览

java - RxJava 2.0 - 如何将 Observable 转换为 Publisher

如何在 RxJava 版本 2 中将 Observable 转换为 Publisher?

在第一个版本中,我们有https://github.com/ReactiveX/RxJavaReactiveStreams项目,它完全符合我的需要。但是我如何在 RxJava 2 中做到这一点?

0 投票
2 回答
65 浏览

java - 如何使用 RxJava 加载相关对象

说我也有那些课

目标:打印出每个事件及其设施的名称。

约束RxJava2,Facilities 只能一一加载(getFacility(facilityId)

从一个Observable<Event>,我无法找到加载设施并将它们设置回各自事件的方法。

基本上我在想这样的事情:

然后我失明了,无法找到将它们链接回事件的方法。我也考虑过使用zip,它可能是一个解决方案,但我没有找到一种方法来保留和事件引用,以便以后为它们设置设施。

什么是反应式的方法?任何提示将不胜感激。

0 投票
2 回答
735 浏览

android - RX+Retrofit 过滤来自服务器响应的数据

如何在特定条件下使用 RxJava Function .filter(),我只想要 id 为 168 的数据,这是正确的做法还是必须更改我的代码样式给我您宝贵的建议。(不使用 RetroLambda :))

我有回应

我已经尝试过这种方式,但注意到(下一个)