English 中文(简体)
Asynchronous Lazy Loading in Statute Action
原标题:Asynchronous Lazy Loading in ActionScript

我在执行上遇到了困难。 基本上,我有大量的数据需要装满URLoader。 而且,由于急切的负荷占用了许多网络资源/时间,我想使用 la。 例如:

class Foo {
    private var _resources:Array;
    public get_resource(id:String){
            if ( _resources[id] == null ){
                 //Load the resource
            }
            return _resources[id];
    }
 }

然而,上述法典只使用同步装载。 我不想让不仁接触该方案的其他部分。 我如何这样做? 感谢。

问题回答

Since an asynchronous function returns immediately (before loading is done), you need to pass a callback function (event handler) to get data from it.

该法典可能与此类似:

class Foo {
    private var _resources:Array;
    private var _loader:Array; // holds URLLoader objects
    public get_resource(id:String, callback:Function) : void {
        if ( _loader[id] == null ){
            var ld : URLLoader = new URLLoader();

            // instead of returning value, callback function will be
            // called with retrieved data
            ld.addEventListener(Event.COMPLETE, function (ev:Event) : void {
                    _resources[id] = ev.target.data;
                    callback(ev.target.data);
                });

            ld.load (/* URLRequest here */);

            _loader[id] = ld;
        }
        // return nothing for now
    }
}

<>>[edit] 删除了错误的评论:“/URLLoader物体必须用一个类别变量持有,以避免GC”。 但是,仍然需要载荷来记住的是,哪怕是装载的。

恐怕你会 t......闪电机只读了(至少几乎是所有点火),这就是为什么所有伊/奥行动都是同步的。

鲁士提出的解决办法是你能够取得的最佳办法。





相关问题
Attaching a property to an event in Flex/AS3

I have a parameter that needs to be passed along with an event. After unsuccessful attempts to place it on the type by extending the class, I ve been advised in another SO question to write a custom ...

Sorting twodimensional Array in AS3

So, i have a two-dimensional Array of ID s and vote count - voteArray[i][0] = ID, voteArray[i][1] = vote count I want the top 3 voted items to be displayed in different colors, so i have a 2nd Array -...

Virtual Tour using sketch up, ajax, flash technologies

I want to know if there are existing technology that make your 3d models in sketch into virtual tours, using either Ajax or Flash for web presentation. If there s none, which will be a good approach ...

What s a good way of deserializing data into mock objects?

I m writing a mock backend service for my flex application. Because I will likely need to add/edit/modify the mock data over time, I d prefer not to generate the data in code like this: var mockData =...

AS3 try/catch out of memory

I m loading a few huge images on my flex/as3 app, but I can t manage to catch the error when the flash player runs out of memory. Here is the what I was thinking might work (I use ???? because i dont ...

热门标签