GWT Async Callbacks - PullRequest
       48

GWT Async Callbacks

0 голосов
/ 03 декабря 2018

Я работаю над этим фрагментом кода 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 голосов
/ 05 декабря 2018

Прежде всего: то, что вы хотите сделать, скорее всего, неправильно, и вам следует переоценить, как все делается.

Однажды сказав это, ограничив себя вашими ограничениями:

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();
...