带有进度条的模式窗口,用于长任务

问题描述 投票:4回答:1

标题必须至少包含15个字符。

java javascript gwt2
1个回答
1
投票

如果您知道要获得的回复数量,则可以使用这种方法:

class TaskCompletedHandler{ // inner class
    private static final int NUMBER_OF_RESPONSES = 4;//just example

    private int tasksCompleted;

    public void notifyOfCompletedTask(){
        tasksCompleted++;
        if (tasksCompleted == NUMBER_OF_RESPONSES){
            blockerWindow.hide(); 
        }
    }
}

在显示模式窗口之前创建此类的实例,然后在AsyncCallback中通知此处理程序

service1.findDependenciesForListBox1(id1, new AsyncCallback<List<Dependency1DTO>>() {
   public void onFailure(Throwable caught) {
      taskCompletedHandler.notifyOfCompletedTask();
      // exception handling here
   }
   public void onSuccess(List<Dependency1DTO> data) {
      taskCompletedHandler.notifyOfCompletedTask();
      // listBox1 filling here
   }
});
© www.soinside.com 2019 - 2024. All rights reserved.