我正在尝试管理请求调用。这是我的情况。我正在使用 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;
}
});
}
}
关于java - 使用 Java 管理 API 调用 [Android],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45792185/