我的代码向服务器发送请求并获得一个旧响应
。
然后,我想要轮询直到从服务器获得不同的响应(即新响应
)。
如果我使用while循环,我可以保存新响应
并在轮询后使用它。
如果我使用awaitility
,如何轻松地获取新响应
?
以下是我的代码:
public Version waitForNewConfig() throws Exception {
Version oldVersion = deploymentClient.getCurrentConfigVersion(appName);
await().atMost(1, MINUTES).pollInterval(5, SECONDS).until(newVersionIsReady(oldVersion));
Version newVersion = deploymentClient.getCurrentConfigVersion(appName);
}
private Callable<Boolean> newVersionIsReady(Version oldVersion) {
return new Callable<Boolean>() {
public Boolean call() throws Exception {
Version newVersion = deploymentClient.getCurrentConfigVersion(appName);
return !oldVersion.equals(newVersion);
}
};
}