В GWT есть какой-нибудь способ дождаться завершения асинхронного вызова?
Мне нужно, чтобы ответ продолжался (это экран входа в систему, поэтому успех означает переход на реальную игру, а неудача - сохранение входа в экран).
Вот звонок:
private void execRequest(RequestBuilder builder)
{
try
{
builder.sendRequest(null, new RequestCallback()
{
public void onError(Request request, Throwable exception)
{
s = exception.getMessage();
}
public void onResponseReceived(Request request,
Response response)
{
s = response.getText();
}
});
} catch (RequestException e)
{
s = e.getMessage();
}
}
А вот метод вызова: `
public String check()
{
s = null;
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, baseUrl
+ "check&user=" + user + "&password=" + password);
execRequest(builder);
return s;
}
Мне нужен метод проверки, чтобы вернуть ответ (или ошибку), а не вернуть ноль.
Я попробовал умственно отсталый способ написания: `
while (s == null);
Ожидание завершения вызова, но это просто сломало страницу в режиме разработки.
(хром сказал, что страница не отвечает и предлагает убить ее)