2011-07-12 54 views
0

我希望能夠在GWT中編寫內聯處理程序。例如,RequestBuilder我可以做這樣的事情(定義代碼INLINE它處理引發的事件,多數民衆贊成):GWT異步回調(傳回對象)

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

我希望做同樣的事情與我的自定義回調函數。我想傳回一個自定義對象。事情是這樣的:

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

我想要做的是像上面很簡單,但我真的被整個GWT事件/回調的事情混淆。看起來像你必須定義多個類和接口,並且只是爲了傳回一個數據。我正在尋找絕對最簡單的方式來用最少的代碼來做到這一點(我不需要自定義處理程序,但我願意使用通用的,只是施放數據)。任何幫助,將不勝感激!

謝謝!

回答

1

看看AsyncCallback也許吧?

+0

不錯,正是我需要的=) – Rob