我的问题,简化: 我有一个dataGrid与dataProvider“文档” datagrid的一列有一个labelFunction,它获取文档的project_id字段,并从可绑定变量“projects”返回项目名称
现在,我发送事件从服务器下载文件和项目,但是如果文件在项目之前下载,那么标签函数会给出错误(没有“项目”变量)
因此,我必须序列化正在执行的命令:getDocuments命令必须仅在getProjects命令之后执行。
在现实世界中,我有几十个资源被下载,并且这些命令并不总是组合在一起(所以我不能例如从第一个的onSuccess()方法执行第二个命令,因为不是他们必须一起执行..)..
我需要一个简单的解决方案..我需要一个想法..
答案 0 :(得分:0)
如果我理解正确,您需要序列化来自服务器的回复。我使用AsyncToken
完成了这项工作。
方法:在调用远程功能之前,为其添加“令牌”。例如,一个id。然后,服务器对该特定呼叫的回复将包括该令牌。这样,您可以将多个呼叫分开,并创建远程呼叫链。
实际上很酷:
service:RemoteObject;
// ..
var call:AsyncToken = service.theMethod.send();
call.myToken = "serialization id";
private function onResult(event:ResultEvent):void
{
// Fetch the serialization id and do something with it
var serId:String = event.token.myToken;
}