4 Stimmen

Wie zu warten, bis async http zu beenden, bevor Sie fortfahren?

In GWT gibt es eine Möglichkeit zu warten, für asynchrone Aufruf zu beenden? Ich brauche die Antwort, um fortzufahren (Es ist ein Login-Bildschirm, so Erfolg bedeutet, ändern, um das eigentliche Spiel und Ausfall bedeutet Aufenthalt in den Login-Bildschirm).
Hier ist der Aufruf:

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

Und hier ist die Aufrufmethode:`

public String check()
{
    s = null;
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, baseUrl
            + "check&user=" + user + "&password=" + password);
    execRequest(builder);
    return s;
}

Die Prüfmethode muss die Antwort (oder den Fehler) zurückgeben und darf nicht null zurückgeben.
Ich habe die hirntote Lösung versucht, indem ich schrieb: `

while (s == null);

Um zu warten, bis der Aufruf beendet ist, aber das hat die Seite im Entwicklungsmodus einfach zerdrückt.
(Chrome sagt, dass die Seite nicht reagiert und schlägt vor, sie zu beenden)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X