0
A
回答
3
是的,当你完全理解逻辑之后,它是可能的,而且非常容易。但你可能混淆了一下observeOn()和subscribeOn()运算符:)
uiObservable
.switchMap(o -> return anotherUIObservable)
.subscribeOn(AndroidSchedulers.mainThread()) // means that the uiObservable and the switchMap above will run on the mainThread.
.switchMap(o -> return networkObservable) //this will also run on the main thread
.subscribeOn(Schedulers.newThread()) // this does nothing as the above subscribeOn will overwrite this
.observeOn(AndroidSchedulers.mainThread()) // this means that the next operators (here only the subscribe will run on the mainThread
.subscribe(result -> doSomething(result))
也许这是你想要什么:
uiObservable
.switchMap(o -> return anotherUIObservable)
.subscribeOn(AndroidSchedulers.mainThread()) // run the above on the main thread
.observeOn(Schedulers.newThread())
.switchMap(o -> return networkObservable) // run this on a new thread
.observeOn(AndroidSchedulers.mainThread()) // run the subscribe on the mainThread
.subscribe(result -> doSomething(result))
奖励:我已经写a post这些运营商,希望它有助于
相关问题
- 1. RxJava到期订阅
- 2. RxJava订阅服务主题
- 3. RxJava订阅副作用
- 4. RxJava订阅不工作
- 5. 在RxJava中取消订阅线程安全吗?
- 6. 订阅主线程
- 7. 混合和匹配模板与文档
- 8. C#inheritahce混合/匹配
- 9. RxJava:不会调用订阅的取消订阅()方法
- 10. 使用事件总线传递RxJava订阅
- 11. RxJava异步订阅将丢失消息
- 12. 订阅RxJava Observable从春季背景
- 13. 收听并发送订阅RxJava
- 14. 异步RxJava订阅仍抛出NetworkOnMainThreadException
- 15. Retrofit 2 + RxJava取消/取消订阅
- 16. RxJava在订阅后继续发射
- 17. RxJava/RxBinding - 检查订阅是否存在
- 18. 的Android Rxjava订阅变量变化
- 19. 如何取消订阅rxJava请求
- 20. 领域,网络运营,订阅与RxJava
- 21. 订阅同一用户在rxJava 2
- 22. rxJava停止观察取消订阅
- 23. RxJava订阅阻挡观察到
- 24. 在Android上处理RxJava订阅优雅?
- 25. RxJava如何订阅可观察对象
- 26. JSON订单混合
- 27. C#.NET合适的事件订阅和取消订阅
- 28. 使用RxJava定时器和超时嵌套订阅
- 29. RxJava并发与多个订阅者和事件
- 30. gson混合阅读
谢谢!我现在有一系列的跟进问题,我会在我抽出时间的时候提出。 –
@SaadFarooq随时问:) – Diolor