0
大家好,我是RxJava的新手,並試圖圍繞一些概念進行思考。我需要從api中獲取一個值,然後對依賴於該值的api運行另外2個查詢。鏈接2個依賴於可觀察值的異步操作
我試着用這種方式實現它,但它給了我一個NetworkOnMainThreadException。有沒有辦法「分流」這個流,還是我的理解存在缺陷?任何幫助表示讚賞。
ConnectableObservable<Value> getSomeValueStream =
_api
.someHttpAsyncTask()
.map(parseJsonResponse)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.publish();
getSomeValueStream
.flatMap(HttpAsyncTask2Stream)
.subscribe();
getSomeValueStream
.flatMap(HttpAsyncTask3Stream)
.subscribe();
getSomeValueStream.connect();
謝謝你做到了!對於具有相同問題的人員,如果UI更改取決於異步值,則可以在長時間運行io操作完成後再次在UI線程上調用.observeOn。 [更多信息](http://stackoverflow.com/questions/30211397/rxandroid-ui-changes-on-schedulers-io-thread)。 – 0019