Если ваш метод на стороне сервера возвращает объект, код будет выглядеть следующим образом:
rpcService.doSomething(ArgumentToServerSide, new AsyncCallback<ReturnType>() {
@Override
public void onSuccess(ReturnType result) {
// DO what you expect on Success
}
@Override
public void onFailure(Throwable caught) {
// DO what is expected on failure
}
Если метод на стороне сервера ничего не возвращает, т. Е. Тип возврата равен void
, тогда ваш код будет выглядеть так:
rpcService.doSomething(ArgumentToServerSide, new AsyncCallback<Void>() {
@Override
public void onSuccess(Void result) {
// DO what you expect on Success
}
@Override
public void onFailure(Throwable caught) {
// DO what is expected on failure
}
Заметили ли вы, что метод onSuccess
получает объект типа Void
, который является заполнителем для ключевого слова void (см. Документацию по адресу http://docs.oracle.com/javase/6/docs/api/java/lang/Void.html)
Таким образом, по сути, если ваш метод возвращает определенный тип, onSuccess
и onFailure
вернут этот тип, иначе он вернет тип Void
Надеюсь, это поможет.