У меня есть приложение GWT для приложений. В моем клиентском коде я получаю электронную почту зарегистрированных пользователей и хочу ее отобразить. Я получаю электронную почту пользователей по запросу на сервер.Приложение Engine Код GWT не выполняется в нужное время
Проблема заключается в том, что метод getUserEmail() в настоящее время выполняется после метода onModuleLoad() был выполнен, так что USEREMAIL струна повернет вверх как нуль, где я хочу, чтобы отобразить его. Я проверил, что метод getUserEmail() фактически возвращает правильную часть информации, моя проблема, как уже упоминалось, равна , когда Я получаю информацию, которую хочу. Может ли кто-нибудь указать мне, почему это происходит и как это исправить?
public String userEmail;
@Override
public void onModuleLoad() {
getUserEmail();
HTML mHTML = new HTML();
mHTML.setHTML("<HTML><BODY> Logged in as " + userEmail + "</BODY></HTML>");
RootPanel.get().add(mHTML);
}
public void getUserEmail(){
requestFactory.getUserEmailRequest().getUserEmail().fire(
new Receiver<String>() {
@Override
public void onSuccess(String result) {
userEmail = result;
}
});
}
Спасибо, вот что я сделал, но в любом случае, чтобы сделать() синхронно getUserEmail? – Drublic
Нет. В GWT нет другого выбора. Вы можете объявить пользовательский интерфейс вне внутренних классов. Но код mHTML.setHTML (результат); должен быть внутри. – Hussar