我正在尝试管理请求电话。这是我的情况。我在retrofit 2中使用RxJava。我在Fragment的onResume方法中有一个API请求调用。当我在应用程序中切换选项卡或旋转手机时,再次调用onResume方法,如果通话缓慢,我将发送两个相同的请求并获得2个相同的响应。你有什么主意我可以预防吗?

如果第一个API正在进行,我不希望发送第二个API调用,或者如果调用相同,则以某种方式将2个响应合并为一个。

谢谢

最佳答案

您可以创建用于包装api的标记,并在请求时将其设置为false,并在响应时将其设置为true

private boolean canRequest = true;
void onResume(){
if(canRequest){
   canRequest = false;
   fetchDataUsingRetroFit(new ResponseCallBack(){
       void onResponse(){
         canRequest = true;
       }
    });
}
}

10-07 12:02
查看更多