gpt4 book ai didi

java - GWT:如何创建自己的异步方法?

转载 作者:太空宇宙 更新时间:2023-11-04 14:01:50 25 4
gpt4 key购买 nike

有没有办法在 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);

最佳答案

GWT 有 Scheduler类,它允许您访问一些模拟多线程环境的静态方法。具体来说,您可能对 Scheduler.scheduleFixedPeriod 感兴趣方法:

Schedules a repeating command that is scheduled with a constant delay. That is, the next invocation of the command will be scheduled for delayMs milliseconds after the last invocation completes.

关于java - GWT:如何创建自己的异步方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29241601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com