Android 仅当上一个请求的响应从服务器返回时才调用新请求
我需要每隔5秒从服务器接收一个状态。我正在使用AsyncTask进行此操作 我每5秒使用一次请求Android 仅当上一个请求的响应从服务器返回时才调用新请求,android,Android,我需要每隔5秒从服务器接收一个状态。我正在使用AsyncTask进行此操作 我每5秒使用一次请求 myListTimer = new Timer(); myListTimer.schedule(new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override
myListTimer = new Timer();
myListTimer.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
updateMyList();
}
});
}
}, 0, 5000);
这里updateMyList方法调用AsyncTask,它工作正常。但有时由于网络问题,我并没有在5秒内得到响应,计时器再次请求新的响应。所以我想要的是,只有当服务器返回之前的响应时,它才会请求。如果之前的请求响应没有得到,那么它将不会请求新的响应
boolean receivedResponse = false;
myListTimer = new Timer();
myListTimer.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (!receivedResponse) {
updateMyList();
}
}
});
}
}, 0, 5000);
在收到响应时调用的代码中将receivedResponse
设置为true。当您准备好下一个请求时,将其设置回false。保存最后一个响应,然后在加载前一个响应失败时写入条件