我正在尝试管理请求电话。这是我的情况。我在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;
}
});
}
}