rxJava3中的即时调度程序在哪里?



在rxJava 1中有Scheduler.immediate(),它允许您在当前线程上调度工作。在rxJava 3中,我再也找不到这个调度程序了。

有人知道在rxJava 3中Scheduler.immediate()的替代品是什么吗?


我的用例:

我有一个客户端API,我用它来订阅来自远程服务器的无限事件流(例如新闻提要)。API通过我注册的回调通知我事件:

Observable.create(emitter -> apiClient.registerCallback(event -> emitter.onNext(event)))
.observeOn(Schedulers.immediate())   // I'd like downstream operators to run on current thread
.map(myFunc);
然而,API从另一个线程调用我的回调。我希望在当前线程(创建Observable的线程)上运行下游计算,如myFunc,以便不阻塞API的线程。

在RxJava 3中,您可以使用ImmediateThinScheduler来获得相同的效果。
虽然它保存在internal包中,但您可以使用它。

这个API非常简单,如果你不想依赖他们的internal包,你可以自己创建一个。

最新更新