Packagekrewfw.utils.as3
Classpublic class KrewAsync
InheritanceKrewAsync Inheritance Object

Flexible asynchronous tasker. Usage:
         //--- Basic sequential task
         var async:KrewAsync = new KrewAsync({
             serial : [function_1, function_2, function_3],
             error  : _onErrorHandler,
             anyway : _onFinallyHandler
         });
         async.go();
                   //--- Parallel task
         var async:KrewAsync = new KrewAsync({
             parallel: [function_1, function_2, function_3],
             error   : _onErrorHandler,
             anyway  : _onFinallyHandler
         });
         async.go();
              Throws error if both 'serial' and 'parallel' are specified.
                   //--- Function receives KrewAsync instance,
         //    and you should call done() or fail().
     +
         var async:KrewAsync = new KrewAsync({
             serial: [
                 function(async:KrewAsync):void {
                     if (TASK_IS_SUCCEEDED) {
                         async.done();
                     } else {
                         async.fail();
                     }
                 }
             ]
         });
                   //--- Sub task
         var async:KrewAsync = new KrewAsync({
             serial: [
                 function_1,
                 function_2,
                 {parallel: [
                     function_3,
                     function_4,
                     {serial: [
                         function_5,
                         function_6
                     ]}
                 ]},
                 function_7
             ],
             error  : _onErrorHandler,
             anyway : _onFinallyHandler
         });
         async.go();
              [Sequence]:
                       |3 ------>|
                       |         |
             1 -> 2 -> |4 ------>| -> 7 -> anyway
                       |         |
                       |5 -> 6 ->|
          



Public Properties
 PropertyDefined By
  errorHandler : Function
[read-only]
KrewAsync
  finallyHandler : Function
[read-only]
KrewAsync
  myTask : Function
[read-only]
KrewAsync
  parallelTasks : Vector.<KrewAsync>
[read-only]
KrewAsync
  serialTasks : Vector.<KrewAsync>
[read-only]
KrewAsync
  state : int
[read-only]
KrewAsync
Public Methods
 MethodDefined By
  
KrewAsync(asyncDef:*)
KrewAsync
  
done():void
KrewAsync
  
fail():void
KrewAsync
  
go(onComplete:Function = null):void
KrewAsync
Public Constants
 ConstantDefined By
  REJECTED : int = 3
[static]
KrewAsync
  RESOLVED : int = 2
[static]
KrewAsync
  UNDEF : int = 1
[static]
KrewAsync
Property Detail
errorHandlerproperty
errorHandler:Function  [read-only]


Implementation
    public function get errorHandler():Function
finallyHandlerproperty 
finallyHandler:Function  [read-only]


Implementation
    public function get finallyHandler():Function
myTaskproperty 
myTask:Function  [read-only]


Implementation
    public function get myTask():Function
parallelTasksproperty 
parallelTasks:Vector.<KrewAsync>  [read-only]


Implementation
    public function get parallelTasks():Vector.<KrewAsync>
serialTasksproperty 
serialTasks:Vector.<KrewAsync>  [read-only]


Implementation
    public function get serialTasks():Vector.<KrewAsync>
stateproperty 
state:int  [read-only]


Implementation
    public function get state():int
Constructor Detail
KrewAsync()Constructor
public function KrewAsync(asyncDef:*)



Parameters
asyncDef:*
Method Detail
done()method
public function done():void

fail()method 
public function fail():void

go()method 
public function go(onComplete:Function = null):void

Parameters

onComplete:Function (default = null)

Constant Detail
REJECTEDConstant
public static const REJECTED:int = 3

RESOLVEDConstant 
public static const RESOLVED:int = 2

UNDEFConstant 
public static const UNDEF:int = 1