GWT异步回调

时间:2018-12-03 19:05:12

标签: javascript gwt asynccallback

我正在处理这段GWT代码,该代码具有一种接受回调函数作为参数的方法:

    service.XYZ(new AsyncCallback(){
         public void onSuccess(){
             //Does something
         }

         public void onFailure(){
             //Does something
         }
    });

有没有一种方法可以立即执行onSuccess而不是在以后的某个时间执行? (假设方法XYZ的签名不能更改)。另外,如果我可以自己定义AsyncCallback函数,并且可以像这样立即执行onSuccess方法-callback.onSuccess()-如何将参数传递给callback.onSuccess方法?当前,onSuccess方法的参数仅在方法XYZ中可用。

1 个答案:

答案 0 :(得分:0)

首先,您要做的事情很可能是错误的,您应该重新评估事情的完成方式。

曾经说过,并且将自己限制在您的限制范围内:

final Object fixedArgument = ...;
final String[] variableArgument = { "Sample argument" };
AsyncCallback myCallback = new AsyncCallback() {
     @Override
     public void onSuccess() {
         //Does something like fixedArgument.toString() or variableArgument[0].isEmpty()
     }

     @Override
     public void onFailure() {
         //Does something
     }
};
service.XYZ(myCallback);
myCallback.onSuccess();
// fixedArgument = new Object(); Cannot do this
variableArgument[0] = "Another sample argument";
myCallback.onSuccess();