2017-02-04 31 views
0

第一個請求:ReceiveNewDataFromServer()秒改造要求

二次要求:SendNewDataToServer()

目前都要求有成功的響應平行發送,但得到有時衝突數據。

是否有任何解決方案要求一個接一個?

P.S.我正在考慮在第一次「成功」回調中提出第二次請求,但可能會花費更多時間。

+0

把第二個請求放在第一個「成功」回調中,那將是唯一能讓請求線性化的方法 – arjun

+0

是的,你可以在這裏使用RXjava來達到這個目的 – Saveen

+0

或者你也可以使用interface – Saveen

回答

0

嗨,你可以在android中使用RX java這些用途的基本示例我會告訴你。您可以使用ZIP運營商。

fetchFromGoogle = fetchFromGoogle.subscribeOn(Schedulers.newThread()); 

fetchFromYahoo = fetchFromYahoo.subscribeOn(Schedulers.newThread()); 

爲了處理這兩個請求需要並行運行的第一個場景中,你可以使用ZIP運營商和訂閱它返回的觀測。

// Fetch from both simultaneously 
    Observable<String> zipped  = Observable.zip(fetchFromGoogle, fetchFromYahoo, new Func2<String, String, String>() { 
  @Override 
    public String call(String google, String yahoo) { 
      
// Do something with the results of both threads 

            return google + "\n" + yahoo; 

    } 
     }); 

這裏是example我們如何通過RX Java調用的API從retrofit.This是Android應用的最新與技術架構。