0

我的问题,简化:我有一个带有 dataProvider“文档”的 dataGrid 数据网格的一列有一个 labelFunction,它获取文档的 project_id 字段,并从可绑定变量“projects”返回项目名称

现在,我调度事件以从服务器下载文档和项目,但如果文档在项目之前下载,则标签函数会给出错误(没有“项目”变量)

因此,我必须序列化正在执行的命令:getDocuments 命令只能在 getProjects 命令之后执行。

但是,在现实世界中,我下载了数十个资源,并且这些命令并不总是组合在一起(所以我不能例如从第一个的 onSuccess() 方法执行第二个命令,因为它们并不总是必须一起执行..)..

我需要一个简单的解决方案..我需要一个想法..

4

1 回答 1

0

如果我理解正确,您需要序列化来自服务器的回复。我已经通过使用AsyncToken.

方法:在调用远程函数之前,向它添加一个“令牌”。例如,身份证。然后,服务器对该特定调用的回复将包括该令牌。这样,您可以将多个调用分开并创建远程调用链。

其实很酷:

    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;
    }
于 2010-01-08T17:34:05.977 回答