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