Thank you very much Harb, I will study your examples this afternoon. hiedra
-----Mensaje original----- De: Harbs <harbs.li...@gmail.com> Enviado el: jueves, 2 de diciembre de 2021 11:52 Para: dev@royale.apache.org Asunto: Re: IAsyncTask ¿any example? And here’s an example I’m using in production which runs more than one task in parallel. As you can see, it’s very easy to use: public function embedFonts(render:Function):void{ if(fontsEmbedded()){ render(); } else { var tasks:Array = []; var font:FontVO = getAppliedFont(); if(!font.embedded){ tasks.push(new LoadFontTask(font)); } font = getBulletFont(); if(font && !font.embedded){ tasks.push(new LoadFontTask(font)); } var task:CompoundAsyncTask = new CompoundAsyncTask(tasks); task.done(function(task:AsyncTask):void{ if(task.completed){ // we're good render(); } else { // status is "failed" -- we're failing silently } }); task.run(); } } And the LoadFontTask class looks like this: public class LoadFontTask extends AsyncTask { public function LoadFontTask(font:FontVO) { super(); this.font = font; } private var font:FontVO; override public function run(data:Object = null):void{ var fp:FontProxy = getProxy(FontProxy.NAME) as FontProxy; fp.loadNow(font,fontLoadDone); } private function fontLoadDone():void{ if(font.embedded){ complete(); } else { fail(); } } } > On Dec 2, 2021, at 12:39 PM, Harbs <harbs.li...@gmail.com> wrote: > > var task: HttpRequestTask = new HttpRequestTask(); task.url = > “https://foobaz.com/myapi”; > task.done(function(taskReturned:HttpRequestTask):void{ > trace(“task is the same and taskReturned: “ + task == taskReturned);// > you get the task back in the done callback > trace(task.status);// will be either AsyncTask.COMPLETE, > AsyncTask.FAILED or AsyncTask.CANCELED > if(task.completed){ > trace(task.httpResult); > trace(task.httpStatus); > } else if(task.failed){// it failed you can get the status to know why > trace(task.httpStatus); > } else { > // The only other possibility is it was canceled > if(task.status == AsyncTask.CANCELED){ > trace("your task was canceled in the middle!"); > } else { > throw new Error("This should be impossible. Tasks > either complete or fail"); > } > } > }); > // you need to run it or nothing happens... > task.run(); > >> On Dec 2, 2021, at 11:10 AM, Maria Jose Esteve <mjest...@iest.com> wrote: >> >> Hello, >> @Harb, is there an example of how to use AsyncTask? I would like to >> experiment with it, I think I can use it in some of the projects and >> then include it in the examples project that I maintain [1] >> >> [1] https://github.com/mjesteve/royale-examples-community >> >> Hiedra. >> >