在GWT有什麼方法可以等待異步調用完成? 我需要響應才能繼續(這是一個登錄屏幕,所以成功意味着更改爲實際遊戲,失敗則意味着停留在登錄屏幕中)。
這裏是呼叫:如何在繼續之前等待異步http結束?
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;
}
我需要的檢查方法返回的響應(或錯誤),而不是返回null。
我試着寫的腦死亡的解決方案:`
while (s == null);
等待通話結束,但剛剛粉碎了網頁開發方式。
(鉻表示頁面沒有反應,並建議殺死它)
看到這篇文章http://stackoverflow.com/questions/11086591/prevent-method-call-until-async-call-completes-gwt-platform/17932909#17932909 – Tony 2013-07-29 19:54:20