2012-02-14 59 views

回答

5

如果異步請求成功完成,無論其返回值onSuccess()方法將被調用。所以,你不必返回沒有必要的對象。

void onSuccess(T結果)異步調用成功完成 時調用。​​

3

如果您的服務器端方法返回一個對象,代碼如下所示:

rpcService.doSomething(ArgumentToServerSide, new AsyncCallback<ReturnType>() { 
     @Override 
     public void onSuccess(ReturnType result) { 
        // DO what you expect on Success 
        } 
        @Override 
     public void onFailure(Throwable caught) { 
        // DO what is expected on failure 
        } 

如果服務器端方法不即返回類型返回任何東西是void那麼你的代碼將如下所示:

rpcService.doSomething(ArgumentToServerSide, new AsyncCallback<Void>() { 
     @Override 
     public void onSuccess(Void result) { 
        // DO what you expect on Success 
        } 
        @Override 
     public void onFailure(Throwable caught) { 
        // DO what is expected on failure 
        } 

你注意到沒有onSuccess方法得到Void類型的對象,這是關鍵字無效的佔位符(DOC檢查在http://docs.oracle.com/javase/6/docs/api/java/lang/Void.html umentation)

所以基本上,如果你的方法返回一個特定的類型,onSuccessonFailure將返回一個類型,否則將返回一個類型Void 希望這有助於。