问题标签 [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.
android - 如何使用 RxJava2 和 Retrofit2 处理无内容响应
我正在使用RxJava 2
& Retrofit 2
(https://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 解析,但我想知道是否有更好的方法。
编辑:
rx-java2 - 无法解析方法'订阅(匿名 io.reactivex.functionx.Consumer>)' 在 rxjava2 中?
在 toList 运算符执行后,原始 Flowable<<\List>> 转换为 Single<<\List>>。事实证明,如果我创建 Consumer 来订阅 Single,除了 Object 之外,不能更改 Consumer 值类型?
rx-java - RxJava2:压缩的可观察对象中的多个错误引发异常
我通过压缩它们并行执行多个 HTTP 调用。现在 0..n 他们显然会失败。问题是,当例如 2 次调用几乎在准确的时间失败时,错误 1 被处理,doOnError
但onErrorReturnItem
错误 2 滑过并导致异常。我认为如果错误 2 碰巧出现,而错误 1 仍未在这两个 onError 运算符中完全处理,就会发生这种情况。
可以使用以下简化代码重现它:
所以每隔一段时间就会抛出:
不应该Single.zip
只允许发出一个错误吗?有一个更好的方法吗?
rx-java2 - 可观察的窗口 groupBy 导致 OutOfMemoryError
我试图弄清楚如何使用 Observable.groupBy 来限制在一段时间内按键推送的元素数量。我最终得到以下构造:
虽然 subscribe 的 onNext 回调被调用了几千次,但我认为这应该意味着 flatMapMaybe 确实正确订阅了所有 GroupedObservableSource。过了一会儿,RxComputationThreadPool 中的一个线程,但我不明白我错过了什么
rx-java - RxJava2:如何改进并行数据下载和缓存?
我正在努力通过 RxJava2。我想知道我的解决方案是否可以接受,或者有什么方法可以改进它。
用例
- 用户按下更新数据按钮
- 显示一个对话框 - 请稍候
- 多个后端调用并行处理
- 一旦完成任何这些 - 数据将保存在本地数据库中
- 在所有请求完成后(后端调用和持久化),对话框应该被关闭
当前解决方案
我有几个Completables
看起来像这样:
我通过添加到列表并使用运算符将它们打包成一个merge
:
可能的改进
好的,所以这按预期工作。但有些事情我并不那么高兴。
我真的必须添加subscribeOn(Schedulers.io())
到每个 Completable 吗?没有它就不能并行工作,但也许有更好的方法来做到这一点?
所有可完成项都有这些行。
有没有办法将它提取到一种方法中?我试过这样的事情:
我只是将 Observable 和 DAO 放入其中。当然编译不了。似乎它需要的泛型知识比我已经拥有的要多得多。
抱歉,这个问题很长,很难用几句话来解释整个用例。
android - RxJava2 中具有多个订阅者的单个异步事件
我有一个处理图像的类,这可能是一个缓慢的过程。工作完成后,该类包含有关图像的一些特征,例如主色。
我有很多其他的代码想要知道主色,当他们请求它时,它可能准备好也可能还没有准备好。
我还没有找到一种使用 RxJava2 来实现它的简单方法。有人能帮我吗?
总而言之,如果我可以创建一个方法,那就太好了:
- 允许多个订阅者呼叫/订阅。
- 处理完成后,订阅者会收到结果。
- 订阅者会自动取消订阅以避免内存泄漏。不会有第二个事件,也没有理由仍然被订阅。
- 稍后订阅/调用该方法的订阅者只会获取缓存的值。
ReplaySubject 似乎有一些我正在寻找的属性,但我不确定如何正确实现它。
java - RxJava 2.0 - 如何将 Observable 转换为 Publisher
如何在 RxJava 版本 2 中将 Observable 转换为 Publisher?
在第一个版本中,我们有https://github.com/ReactiveX/RxJavaReactiveStreams项目,它完全符合我的需要。但是我如何在 RxJava 2 中做到这一点?
java - 如何使用 RxJava 加载相关对象
说我也有那些课
目标:打印出每个事件及其设施的名称。
约束:RxJava2,Facilities 只能一一加载(getFacility(facilityId)
)
从一个Observable<Event>
,我无法找到加载设施并将它们设置回各自事件的方法。
基本上我在想这样的事情:
然后我失明了,无法找到将它们链接回事件的方法。我也考虑过使用zip
,它可能是一个解决方案,但我没有找到一种方法来保留和事件引用,以便以后为它们设置设施。
什么是反应式的方法?任何提示将不胜感激。
android - RX+Retrofit 过滤来自服务器响应的数据
如何在特定条件下使用 RxJava Function .filter(),我只想要 id 为 168 的数据,这是正确的做法还是必须更改我的代码样式给我您宝贵的建议。(不使用 RetroLambda :))
我有回应
我已经尝试过这种方式,但注意到(下一个)