rx-java相关内容

防止OnErrorNotImplementedException

我想实现的是,如果我调用Obervable.subscribe(Action1)方法,它不会在任何地方抛出OnErrorNotImplementedException,但如果我调用Obervable.subscribe(Action1, Action1),则会在正常情况下引发错误时调用第二个操作。我尝试了两种方式: .onErrorResumeNext(Observable.empty()) ..
发布时间:2022-06-29 17:29:52 移动开发

如何在计数时限制重试

我在retryWhen中使用了PublishSubject,以允许用户重试该操作,类似于this answer。一切正常,但有一个问题-在用户点击重试3次后,我应该不再允许重试,并应该中止操作。有没有办法将重试次数限制在3次以内? 我已尝试PublishSubject.Take(3)运算符,但不起作用。 推荐答案 运算符(如retryWhen)具有次要流,其结果会影响主要流。因此,流操 ..
发布时间:2022-04-10 23:04:11 其他开发

通过使Singleton&;的getInstance()方法返回一个可观察的&;lt;来使其成为异步方法是个好主意吗?

我有一个单例,它需要几秒钟来实例化。它会使用户界面冻结。因此,我计划使getInstance()方法成为异步方法。编写以下代码是常见做法吗? /* * The singleton class */ public class Singleton { private static volatile Singleton instance; public static Obs ..
发布时间:2022-04-10 23:00:05 Java开发

如何捕获失败的呼叫并继续其余的网络呼叫?

我正在进行5个并行网络调用,模拟其中4个成功,1个失败。 失败的调用会导致整个Single.zip()失败,并且我无法获取其他4个网络调用的结果,即使它们已经成功。 如何处理Single.zip()中单个网络调用失败的错误,并获取成功的网络调用的结果? private Single createNetworkCall(){ return S ..
发布时间:2022-04-10 22:55:33 Java开发

术语:什么是函数式反应式编程中的故障/RX?

在函数式反应式编程的上下文中,“故障”的定义是什么? 我知道在某些FRP框架中可能会出现“故障”,而在其他框架中则不会。例如,RX并非没有毛刺,而ReactFX也不是没有毛刺[1]。 谁能给出一个非常简单的示例,演示在使用RX时如何以及何时会出现故障,并在同一示例中显示相应的ReactFX解决方案如何以及为什么没有故障。 感谢阅读。 推荐答案 定义 我(自己)最 ..

Android的优点和缺点:Event Bus和RxJava

我一直在我的应用程序中使用事件总线(即:greenbot/EventBus)。但我发现使用事件总线有一些缺点: 链接任务执行很困难 许多表示事件的类 不太清楚的代码(仍然可以跟踪,但不是很清楚) 我一直在研究解决这个问题的新技术。我读了很多关于RxJava的书,想知道它是否可以成为一个解决方案。 所以我对RxJava的问题(基于我最近读到的): 是否可以随时注册RxJa ..
发布时间:2022-03-31 16:15:58 移动开发

如何使用Observable.from(将来)?

我正在学习Android上的RxJava。我想在网络中使用它,所以无法在主线程上执行操作。 我有以下代码: final String RXTAG = "Rx"; Log.d(RXTAG, "Starting Rx experiment"); final FutureTask future = new FutureTask(new Callable( ..
发布时间:2022-03-08 12:27:16 其他开发

并行数据库搜索的Schedulers.io()

我不知道并行访问数据库表时应该使用Schedulers.io()还是Schedulers.newThread()。 例如,如果我使用Schedulers.io()并行地从数千个表中选择记录,那么任务完成后,许多新创建的线程都在线程池中。 Observabe.just("table1", "table2", "table3"...) .flatMap(t -> { / ..
发布时间:2022-03-08 12:24:36 其他开发

返回RxJava的Complete的方法的命名约定

我有一个带有视图类(Fragment,Activity)的Android应用程序,观察其ViewModel。 ViewModel公开方法,如返回Observable的getUserName。虽然可能会找到一个更好的名字(也许observeUserName),但我对现在的名字很满意-它很有说服力。 不过,从这里开始比较难的部分:ViewModel还可以告诉视图进行一些操作 ..
发布时间:2022-03-08 12:21:09 移动开发

Android rxjava重复请求

我正在努力实现以下目标。我加载了要获取值的对象列表,以便稍后将其放入列表中。 首先,我使用平面映射将所有值收集到一个数组中(按山的顺序),然后在完成所有操作后,我填充一个适配器。 我无法做到的是每隔xxx秒重复一次该操作。我知道它是用间歇来完成的。我仍然没有得到任何结果,或者重复一个结果只得到一个结果。 以下是我的代码: Observable.fromIterable( ..
发布时间:2022-03-08 12:15:35 移动开发

Java 8 流和 RxJava 可观察对象之间的区别

Java 8 流是否类似于 RxJava 可观察对象? Java 8 流定义: 新 java.util.stream 包中的类提供了 Stream API支持对元素流进行函数式操作. 解决方案 简答 所有序列/流处理库都为管道构建提供了非常相似的 API.不同之处在于用于处理多线程和管道组合的 API. 长答案 RxJava 与 Stream 完全不同.在所有 ..
发布时间:2022-01-22 10:44:38 其他开发

随时接受更多 Observables 的 RxJava -2 Observables?

我目前正在使用 rx-java 2,并且有一个用例,即单个 Camel Route 订阅者需要使用多个 Observable.使用此解决方案作为参考,我有一个部分可行的解决方案.RxJava - 随时接受更多 Observable 的合并 Observable? 我打算使用 PublishProcessor 订阅一个骆驼反应流订阅者,然后维护一个 ConcurrentHashSet>我可以在 ..
发布时间:2022-01-19 08:40:41 Java开发

从普通 Java 事件创建 Observable

从经典 Java 事件模式创建 Rx-Java Observable 的最佳方法是什么?也就是说,给定 类 FooEvent { ... }接口 FooListener {无效 fooHappened(FooEvent arg);}类酒吧{公共无效 addFooListener(FooListener l);公共无效 removeFooListener(FooListener l);} 我要实 ..
发布时间:2022-01-15 11:59:19 Java开发

EventBus/PubSub 与(响应式扩展)RX 在单线程应用程序中的代码清晰度

目前,我正在使用 EventBus/PubSub 架构/模式使用 Scala(和 JavaFX)来实现一个简单的笔记组织应用程序(有点像一个带有一些附加思维导图功能的 Evernote 客户端),我不得不说我真的很喜欢 EventBus 而不是观察者模式. 这里有一些 EventBus 库: https://code.google.com/p/guava-libraries/wiki/ ..

验证 rxjava 订阅者中的交互

在 MVP 模式中描绘您的演示者订阅返回观察者的服务的情况: public void gatherData(){服务.doSomeMagic().observeOn(Schedulers.io()).subscribeOn(AndroidSchedulers.mainThread()).subscribe(新订阅者());} 现在类 TheSubscriber 从视图中调用 onNext 一个 ..
发布时间:2022-01-14 13:06:15 移动开发

使用改造和 rxjava 对 android 应用程序进行单元测试

我开发了一个使用 rxJava 改造的 android 应用程序,现在我正在尝试使用 Mockito 设置单元测试,但我不知道如何模拟 api 响应以创建不打真正的电话,但有虚假的回应. 例如,我想测试方法 syncGenres 是否适用于我的 SplashPresenter.我的课程如下: 公共类 SplashPresenterImpl 实现 SplashPresenter {私人 Sp ..
发布时间:2022-01-08 21:48:31 移动开发

Android 中的 RxJava 异步任务

我正在尝试在 Android 中使用 RxJava 实现异步任务.我尝试了以下代码,但没有用.它在 UI 线程上执行.我使用的是以下版本的 RxAndroid 0.24.0. 尝试{Observable.just(someMethodWhichThrowsException()).subscribeOn(Schedulers.newThread()).observeOn(AndroidSched ..
发布时间:2022-01-07 22:37:07 移动开发