2017-02-04 23 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应用的最新与技术架构。