- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个数组 premisasObtenidas,我想用从 GWT AsyncCallback 获取的内容来更新它。该调用工作正常,并且 onSuccess 的代码执行,但是当我尝试将其返回的内容添加到 premisasObtenidas 以将其返回到我的 getPremisasFromServer 方法时,我得到一个空列表。
如何从 getPremisasFromServer 返回我从 AsyncCallback 中成功获取的列表?
private List<PremisaDTO> getPremisasFromServer() {
final List<PremisaDTO> premisasObtenidas = new ArrayList<PremisaDTO>();
//premisasObtenidas is declared on the outside class
myService.mostrarPremisas(
new AsyncCallback<List<PremisaDTO>>() {
public void onFailure(Throwable caught){
Window.alert("Falla al cargar premisas" + caught.getMessage());
}
public void onSuccess(List<PremisaDTO> premisasEnBD){
Window.alert("Exito al obtener premisas " + premisasEnBD.get(0).getTextoPremisa());
for (int i=0; i<premisasEnBD.size();i++){
PremisaDTO aux = new PremisaDTO();
aux.setId(premisasEnBD.get(i).getId());
aux.setTextoPremisa(premisasEnBD.get(i).getTextoPremisa());
premisasObtenidas.add(aux);
}
}
} );
return premisasObtenidas; //here premisasObtenidas has size 0
}
最佳答案
这是一个子例程 - 异步回调不会内联发生 - 即,在您点击 return 语句时,onSuccess
尚未执行。
回调将在未来某个时间发生(当服务器完成它的事情时)。
您可能需要的是
final List<PremisaDTO> premisasObtenidas = new ArrayList<PremisaDTO>();
是类级别(不是函数本地的)。您的 onSuccess()
填充列表,然后调用其他一些类方法来对列表执行某些操作。
这就是 acync 编程的本质。由于涉及服务器并且您不希望客户端变得无 react 。您要求服务器做某事,完成后您(客户端)会被告知(您的程序可以自由地继续在中间做其他事情)。
关于java - GWT AsyncCallback - 内部类共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11587840/
我需要实现线程以缩短紧凑型框架应用程序的加载时间。我想启动一个后台线程来调用外部 API,而主线程缓存一些表单。后台线程完成后,我需要再触发两个线程来填充数据缓存。 我需要后台线程能够执行回调方法,所
我的申请中还有另一个问题。我在 MainActivity 中使用以下代码从我的 ContactAdapter 中获取用户数据: private List loadContactData() {
我目前有以下相关代码片段: public class MyEntryPoint implements EntryPoint { private boolean areFieldsEnabled
我正在通过 tcp 实现乒乓球。我有用 C# 编写的 Pinger。还有两只火锅。一个用 C# 编写,另一个用 C++ 编写。 Pinger 只是向 pongers 发送消息,pongers 回复他。
我想通过List进入AsyncCallback在函数中 LoadHistoryAsync(List Items)但是result.AsyncState在 CallForNewData(IAsyncRe
我需要使用异步委托(delegate)调用一个函数,当我浏览 AsyncCallback 的教程时,我看到异步回调定义如下: static void CallbackMethod(IAsyncResu
我最近注意到以下模式,但我没有完全掌握 CompletedSynchronously 属性的用法: IAsyncResult channelOpenResult = channel.BeginOpen
下面的代码是不言自明的,我的问题也很简单: 为什么 AsyncCallback 方法“HandleConnect”不向“Connect”方法传播异常 以及如何传播它? public void
在做我的应用程序时,我厌倦了总是在 asynccallback onfailure 中实现相同的默认错误处理(显示消息、catch.printstacktrace 等)。 我想知道您是否可以进行通用治
嗨,我有一段代码使用套接字连接到服务器 Try 'Connect To The Server Dim socketclient As New TcpClient Dim suc
我有一个数组 premisasObtenidas,我想用从 GWT AsyncCallback 获取的内容来更新它。该调用工作正常,并且 onSuccess 的代码执行,但是当我尝试将其返回的内容添加
我想使用 .NET-FTP 库 ( http://netftp.codeplex.com )。该库提供 BeginOpenRead(string,AsyncCallback,object) 以使用异步
我有一个类可以检查用户的操作、验证数据并调用 AsyncCallBack 以确定它是否是有效条目。我在两个地方使用了相同的逻辑,一个是用户单击“确定”,另一个是“输入”。通过在一种情况下调用 Asyn
我有一个 AsyncCallback 调用,它联系我的 GWT-RPC 服务并检索一些数据。我试图将该数据存储到一个类中,该类具有一个静态方法来存储查询结果。但是,我注意到数据没有填充到静态数据成员中
正是问题所说的。 我已阅读给定 here 的 MSDN 文章,并且(除非我是盲人),看不到任何明确证实这一点的地方。 为了提供更多范围,我主要指的是 Socket 类中提供的 Socket.Begin
我希望你能在以下方面帮助我: 我有一个 WebService 方法,它应该返回一个 CompensationPlanReturnReturn 对象数组。该方法是这样调用的: //This is the
我正在学习套接字编程,我有以下功能: public void OnDataReceived(IAsyncResult asyn) 回调是这样设置的: pfnWorkerCallBack = new A
我写了一个 HttpListener 监听其中一个端口: httpListener.BeginGetContext(new AsyncCallback(ListenerCallback), httpL
我有以下类试图充当简单的异步操作: public class AsyncLineWriter { private delegate void SynchronousWriteLineDeleg
我有一个 Stream 对象,我正在使用 BeginRead 开始(显然)读入缓冲区;读取完成后调用 AsyncCallback 函数。在此函数中,我可以检查用户是否想要获取下一个“ block ”并
我是一名优秀的程序员,十分优秀!