2014-03-25 23 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