2011-07-12 5 views
0

J'aimerais pouvoir écrire un gestionnaire en ligne dans GWT. Par exemple, avec RequestBuilder je peux faire quelque chose comme ça (la définition du code INLINE qui gère un thats événement lancé):Rappel asynchrone GWT (renvoi d'un objet)

rb.sendRequest(postData, new RequestCallback() { 
@Override 
public void onError(Request request, Throwable t) { 
    Window.alert("Failed" + t.getMessage()); 
} 

@Override 
public void onResponseReceived(Request request, Response response) { 
    Window.alert(response.getText()); 
} 
}); 

Je voudrais faire la même chose avec ma fonction de rappel personnalisée. Et je veux renvoyer un objet personnalisé. Quelque chose comme ceci:

Person p = new Person("bob smith", 34, "san francisco"); 

p.GetInfo("name", new PersonCallBack(){ 
    @Override 
    public void onReturned(Object someData) 
    { 
     Window.alert(String.valueOf((String)someData)); 
    } 
}; 

p.GetInfo("age", new PersonCallBack(){ 
    @Override 
    public void onReturned(Object someData) 
    { 
     Window.alert(String.valueOf((int)someData)); 
    } 
}; 

Ce que je veux faire est assez simple comme ci-dessus, mais je suis vraiment confus par le tout événement/rappel GWT. On dirait que vous devez définir plusieurs classes et interfaces et ainsi de simplement passer un morceau de données. Je suis à la recherche de la façon SIMPLEST absolue de le faire avec le moins de code possible (je n'ai pas besoin de gestionnaires personnalisés, mais je suis prêt à utiliser quelque chose de générique et à jeter des données). Toute aide serait appréciée!

Merci!

Répondre

1

Regardez peut-être AsyncCallback peut-être?

+0

Nice, exactement ce dont j'avais besoin =) – Rob

Questions connexes