root/as3/ASDeferred/samples/ASDeferredTest.as

リビジョン 216, 2.3 kB (コミッタ: munegon, コミット時期: 4 年 前)

--

  • svn:mime-type 属性の設定値: text/plain; charset=utf-8
Line 
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 }
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。