android - rxjava多線程并發怎么控制順序
問題描述
需求是從服務器獲取聊天列表,然后遍歷獲取聊天記錄,我這里用了Observable.from(conversations)然后對conversation插入本地數據庫,并且過濾得到需要的數據,最后更新view我看了一下午,這么多關鍵詞相關SerializedSubject(我用SerializedSubject.from(conversations)也不行,而轉類型Observable也報錯)trampoline(把任務放到當前線程的隊列中,等當前任務執行完了,再繼續執行隊列中的任務)concatEager(這個操作符跟concatMap有什么區別http://blog.csdn.net/kisty_ya... 但是使用上沒例子不太懂)剛開始是onNext里面處理下一步驟,然后我就用flatMap處理了,但是還是發射完成就結束了,沒有等onNext執行完,而且感覺doOnNext和flatMap是一樣的,希望能夠指點迷津,感覺像無頭蒼蠅一樣,能不能用偽代碼寫一下思路謝謝
問題解答
回答1:過濾的話應該用Filter這個操作符吧
回答2:用這個操作符concatMap可以保證線程執行的順序不會錯亂!
回答3:Obserable.fromCallable() .filter() .subscribe(io) .obserableOn(ui) .subscribe(action) 如果是需要將過濾的數據重新保存 Obserable data = Obserable.fromCallable() .filter() .subscribe(io) .share(); data.obserableon(io) .subscribe(數據庫) data.obserableOn(ui) .subscribe(更新)
相關文章:
1. 網頁爬蟲 - python爬蟲翻頁問題,請問各位大神我這段代碼怎樣翻頁,還有價格要登陸后才能看到,應該怎么解決2. python如何不改動文件的情況下修改文件的 修改日期3. python 正則表達式提取4. 算法 - python 給定一個正整數a和一個包含任意個正整數的 列表 b,求所有<=a 的加法組合5. javascript - 微信h5發送圖文信息,部分設備點擊“發送”按鈕時沒反應,問題較難重現,如何能找到可能存在問題的點?6. javascript - 微信小程序里怎么把頁面轉成圖片分享7. 大家好,請問在python腳本中怎么用virtualenv激活指定的環境?8. python - 求一個在def中可以實現調用本def滿足特定條件continue效果的方法(標題說不太清楚,請見題內描述)9. javascript - JS用ajax爬取百度外賣店家信息10. python - Pycharm調試代碼進行列表遍歷時,如何直接賦值指定元素
