2014-03-25 26 views
0

我正在對servlet進行異步調用。在servlet中,我從DB獲取一些圖片並將它們作爲字符串發送回客戶端。在Client..in onSuccess(String pictureAsString)方法中,我需要在加載完成之後對圖像執行某些操作,然後才能繼續。我知道圖像的數量,目前我正在做一些測試是這樣的:gwt AsyncCallback - java

public void onSuccess(String result) { 
    numberOfReceivedImages = numberOfReceivedImages-1; 
       //add image as string to a list of images 
       if(numberOfReceivedImages == 0){ 
         ////call method that draws the images from the list     } 
    } 

在至極的圖像繪製應該從將圖像從服務器接收它們之後存儲在列表中的順序順序,但是這個順序並沒有保留...我想這是因爲我沒有在我繪製它們時收到所有的圖像。 謝謝, 任何幫助表示讚賞

回答

0

您確定圖像從服務器按正確的順序發送?你如何將它們存儲在客戶端?

我建議你改變你的RPC方法的簽名,以財產以後像

AsyncCallback<List<String>> callback = new AsyncCallback() 
{ 
    public void onSuccess(List<String> result) { 
     ... 
    } 

    ... 
} 

和服務器端的過程中的相關變化。這樣,你就可以保證與服務器端的訂購客戶端一樣。

+0

在客戶端,圖片與其他對象一起被保存在列表中。像矩形,gwt的橢圓。此列表正在界面上繪製......但問題是圖像始終打印在最後,而不是從列表中取出。可能是什麼問題呢? – user3459575

+0

感謝您的幫助 – user3459575