我有一个类处理一个图像,这可能是一个缓慢的过程。当工作完成时,该类包含图像的一些特性,如主色。
我有许多其他的代码想知道主颜色,当他们要求它时,它可能是或可能没有准备好。
我还没有找到使用RXJava2实现这一点的简单方法。有人能帮帮我吗?
ReplaySubject似乎有一些我正在寻找的属性,但我不确定如何正确地实现它。
'1.允许多个订阅者调用/订阅。
'4.在稍后点订阅/调用该方法的订阅者只获得缓存的值。
将replay(1)
与autoconnect()
结合使用。这将导致一个可观察到的共享对源的单个订阅,并重播源发出的最后一个值。autoconnect()
确保在第一个订阅服务器订阅时直接订阅源。
使用Observable.create()
并使用ObservableEmitter
发出结果。
Observable.create(new ObservableOnSubscribe<String>() {
@Override
public void subscribe(final ObservableEmitter<String> e) throws Exception {
Thread.sleep(5000);
e.onNext("Test");
e.onComplete();
}
}).replay(1).autoConnect()
.firstOrError();
我正在寻找一种将多个订阅者附加到RxJava可观察流的方法,每个订阅者异步处理发出的事件。 我第一次尝试使用。flatMap(),但这似乎对任何后续订阅服务器都不起作用。所有订阅服务器都在同一线程上处理事件。 最终工作的是通过每次创建一个新的可观察的来消耗新线程中的每个事件: 输出: 以及多个订阅者的最终结果: 输出: 然而,这似乎有点笨拙。有没有更优雅的解决方案,或者RxJava不是一个很好的用
> 糟糕的图案设计 仅在连接订阅服务器时才启动,如果没有可用的订阅服务器时停止 不成功共享数据,需要两个类(主题类和重复可观察类) 我希望避免监听器/接口来共享周围的信息,让rxjava2来完成它的工作。 经过研究,我发现有refcount()和share(),但我不确定这是否是解决这个问题的正确方法。在我的例子中,这是一个REST服务,它轮询服务器,如果至少有一个订阅服务器连接到其他地方,它应该
我正在用Scala编写一个GUI,在尝试在一个foreach语句中注册按钮事件时遇到了一个奇怪的问题:对于对象列表中的每个元素(对象0)…对象n),检索相应的按钮x=按钮i,并用代码框订阅给定框。listenTo(x)。按下按钮时,应执行与对象相关的一些操作(在这种情况下,): 但是,我得到了一些非常奇怪的行为,单击任何按钮都会触发所有此类对象操作——请参阅程序输出: 我完全不知道为什么会这样;无
我有一个rxJava2可观察对象,我想有条件地订阅它。场景i将进行网络调用,并且只有当设备连接到网络时才会调用。我想做下面的事情 有什么建议吗?有没有更好的办法?
本文向大家介绍如何在C#中订阅事件,我们可以在C#中为一个事件拥有多个订阅者吗?,包括了如何在C#中订阅事件,我们可以在C#中为一个事件拥有多个订阅者吗?的使用技巧和注意事项,需要的朋友参考一下 事件使类或对象在发生感兴趣的事件时通知其他类或对象。 引发事件的类称为发布者,而处理事件的类称为订阅者。 在事件中 一个事件可以有多个订阅者。订阅者可以处理来自多个发布者的多个事件。 没有订阅者的事件永远