如何编码并行 - > AS3中的顺序程序

时间:2011-08-09 12:35:13

标签: actionscript-3 actionscript asynchronous

我想在AS3中开发以下程序

main -> Async call A -----> join 
     |- Async call B ->|
     |- Async call C ->|

-

var xmlLoaderA:URLLoader = new URLLoader();
var xmlLoaderB:URLLoader = new URLLoader();
var xmlLoaderC:URLLoader = new URLLoader();
xmlLoaderA.load(new URLRequest("http://example.com/a.xml"));
xmlLoaderB.load(new URLRequest("http://example.com/b.xml"));
xmlLoaderC.load(new URLRequest("http://example.com/c.xml"));

xmlLoaderA.addEventListener(Event.COMPLETE, xmlLoadedA);
xmlLoaderB.addEventListener(Event.COMPLETE, xmlLoadedB);
xmlLoaderC.addEventListener(Event.COMPLETE, xmlLoadedC);

异步调用具有HTTP访问权限,并且join方法合并来自每个HTTP访问的数据。 如果你有一些例子,我很高兴。

1 个答案:

答案 0 :(得分:1)

raix framework允许组合异步操作:

编辑:我误解了您的异步要求。更新为同时获取所有三个:

Observable.forkJoin([
    Observable.urlRequest(new URLRequest("http://tempuri.org/1"))
    Observable.urlRequest(new URLRequest("http://tempuri.org/2"))
    Observable.urlRequest(new URLRequest("http://tempuri.org/3"))
])
.subscribe(function(values:Array) : void
{
    // values contains result from requests in the original order
});

免责声明:我是raix的作者