| 1 |
package { |
|---|
| 2 |
import flash.display.Sprite; |
|---|
| 3 |
|
|---|
| 4 |
public class ASDeferredTest extends Sprite { |
|---|
| 5 |
public function ASDeferredTest() { |
|---|
| 6 |
var w1:int = 1; |
|---|
| 7 |
var w2:int = 2; |
|---|
| 8 |
var w3:int = 5; |
|---|
| 9 |
|
|---|
| 10 |
var d:Object = {}; |
|---|
| 11 |
ASDeferred.define( d ); |
|---|
| 12 |
|
|---|
| 13 |
d.next( function( elapsed:Number ):void { |
|---|
| 14 |
trace("wait: " + w1 ); |
|---|
| 15 |
}). |
|---|
| 16 |
wait( w1 ). |
|---|
| 17 |
next( function( elapsed:Number ):void { |
|---|
| 18 |
trace("elapsed1: " + elapsed ); |
|---|
| 19 |
}). |
|---|
| 20 |
loop( {begin:1, end:10, step:1}, function( n:int, o:Object ):ASDeferred { |
|---|
| 21 |
trace("loop: " + n + " of " + o.end ); |
|---|
| 22 |
return ASDeferred.wait( 0.05 ); |
|---|
| 23 |
}). |
|---|
| 24 |
next( function( elapsed:Number ):void { |
|---|
| 25 |
trace("wait: " + w2 ); |
|---|
| 26 |
}). |
|---|
| 27 |
wait( w2 ). |
|---|
| 28 |
next( function( elapsed:Number ):void { |
|---|
| 29 |
trace("elapsed2: " + elapsed ); |
|---|
| 30 |
}). |
|---|
| 31 |
next( function():void { |
|---|
| 32 |
ASDeferred.parallel([ |
|---|
| 33 |
ASDeferred.loop( 5, function( n:int, o:Object ):ASDeferred { |
|---|
| 34 |
trace( n ); |
|---|
| 35 |
return ASDeferred.wait( 0.1 ); |
|---|
| 36 |
}), |
|---|
| 37 |
ASDeferred.loop( 5, function( n:int, o:Object ):ASDeferred { |
|---|
| 38 |
trace( String.fromCharCode( 97 + n ) ); |
|---|
| 39 |
return ASDeferred.wait( 0.2 ); |
|---|
| 40 |
}), |
|---|
| 41 |
ASDeferred.next( function():ASDeferred { |
|---|
| 42 |
trace("wait: " + w3 ); |
|---|
| 43 |
return ASDeferred.wait( w3 ).next( function( wait:int ):String { |
|---|
| 44 |
trace("wait end: " + wait ); |
|---|
| 45 |
return "hoge"; |
|---|
| 46 |
}); |
|---|
| 47 |
}) |
|---|
| 48 |
]). |
|---|
| 49 |
next( function( values:* ):* { |
|---|
| 50 |
trace("values[0]: " + values[0] ); |
|---|
| 51 |
trace("values[1]: " + values[1] ); |
|---|
| 52 |
trace("values[2]: " + values[2] ); |
|---|
| 53 |
}) |
|---|
| 54 |
}); |
|---|
| 55 |
/* |
|---|
| 56 |
// parallel を直列で定義できるようにした場合の書き方 |
|---|
| 57 |
parallel([ |
|---|
| 58 |
new ASDeferred().loop( 5, function( n:int, o:Object ):ASDeferred { |
|---|
| 59 |
trace( n ); |
|---|
| 60 |
return ASDeferred.wait( 0.1 ); |
|---|
| 61 |
}), |
|---|
| 62 |
new ASDeferred().loop( 5, function( n:int, o:Object ):ASDeferred { |
|---|
| 63 |
trace( String.fromCharCode( 97 + n ) ); |
|---|
| 64 |
return ASDeferred.wait( 0.2 ); |
|---|
| 65 |
}), |
|---|
| 66 |
new ASDeferred().next( function():ASDeferred { |
|---|
| 67 |
trace("wait: " + w3 ); |
|---|
| 68 |
return ASDeferred.wait( w3 ).next( function( wait:int ):String { |
|---|
| 69 |
trace("wait end: " + wait ); |
|---|
| 70 |
return "hoge"; |
|---|
| 71 |
}); |
|---|
| 72 |
}) |
|---|
| 73 |
]). |
|---|
| 74 |
next( function( values:* ):void { |
|---|
| 75 |
trace("values[0]: " + values[0] ); |
|---|
| 76 |
trace("values[1]: " + values[1] ); |
|---|
| 77 |
trace("values[2]: " + values[2] ); |
|---|
| 78 |
}); |
|---|
| 79 |
//*/ |
|---|
| 80 |
|
|---|
| 81 |
} |
|---|
| 82 |
} |
|---|
| 83 |
} |
|---|