user1346346
user1346346

Reputation: 369

How to make wait some time in GWT after the Async call

In my code, I am making async call to do validation. Depeding upon return value of the validation, I need to execute some lines. But I am not able to put that lines in the callback method of Async = public void success(Boolean valid).

Since one of the line is super.onDrop(context) which is method of another class that can't be called inside Async callback method.

Please see the below line. I need super.onDrop(context) will be executed after async call is completed.

stepTypeFactory.onDropValidation(stepTypeFactory,new AsyncCallbackModal(null) { public void success(Boolean valid) { if(valid==Boolean.TRUE){ //super.onDrop(context); } }; });

//condition is here super.onDrop(context);

Is there any way, i will tell gwt wait 1 or 2 seconds before super.onDrop(context) is executed. Right now what happening is, super.onDrop(context) is executed before the call back method is completed.

Upvotes: 0

Views: 1045

Answers (2)

Akkusativobjekt
Akkusativobjekt

Reputation: 2023

An alternative solution would be, like mentioned from Thomas Broyer in the comments:

stepTypeFactory.onDropValidation(stepTypeFactory,new  AsyncCallbackModal(null) {
    public void success(Boolean valid) {
       if(valid==Boolean.TRUE){
       ContainingClass.super.onDrop(context);
       }
   };
});

Eclipse does not suggests this solution when using the code completion, but it works.

Also i would possibly reconsider your design, because it can get very tricky (by experience) when you have many Callbacks which are connecting/coupling classes. But this is just a quick thought, i neither know the size of your project nor the design.

Upvotes: 1

Andrei Volgin
Andrei Volgin

Reputation: 41089

You can do:

stepTypeFactory.onDropValidation(stepTypeFactory,new AsyncCallbackModal(null) {
    public void success(Boolean valid) {
        if(valid==Boolean.TRUE){
            drop();
        }
    };
});

private void drop() {
   super.onDrop(context);
}

Upvotes: 1

Related Questions