【发布时间】:2015-03-24 19:49:42
【问题描述】:
有没有办法在 GWT 上创建自己的异步方法?我正在使用 gwt 2.7,似乎没有 java 并发类与 gwt 兼容。
这是我的故事。我的客户端有一个服务类,它缓存一些服务器数据。它有一个普通的getter方法(同步)来获取缓存的数据,它也有一个reload方法来更新缓存。(当然是异步的)。发送重新加载请求后,应禁用 getter 方法,直到更新完成。
现在,每次我使用 getter 方法时,我都会将它包装在一个计时器中。它工作正常,但我想知道有更好的方法来做到这一点。样板代码太多了。
final AutoProgressMessageBox messageBox =
ServiceManager.createProgressMessage("Progress", "Loading Products...");
Timer timer = new Timer(){
@Override
public void run() {
if(!serviceManager.isProductLocked()){
// already loaded
serviceManager.getProducts();
// do my work...
messageBox.hide();
this.cancel();
}
}
};
timer.scheduleRepeating(2000);
【问题讨论】:
标签: java gwt asynchronous