Home > Progression > Progression コマンド実行順序を調べてみる

Progression コマンド実行順序を調べてみる

via:コマンドについて色々書いてみる - Is It So Easy?

this.addCommand(
  new Trace("コマンドスタート"),
  function ():void{
    trace("コマンド2")
    this.parent.insertCommand(
      new Trace("コマンド3"),
      function(){
        this.parent.addCommand(
          new Trace("コマンド4")
        );
        this.parent.insertCommand(
          new Trace("コマンド5")
        )
      }
    )
    trace("コマンド6");  
  },
  new Trace("コマンド終わりよ")  
);

実行結果:
コマンドスタート
コマンド2
コマンド6
コマンド3
コマンド5
コマンド終わりよ
コマンド4

はてさて。
まず、コマンド2は上から来てるコマンドの最初なので、2番目に実行されるのはOK。さらに、コマンド4がaddCommandなので、コマンド終わりの次にくるのはOK。
コマンド6は、insertCommandの次ですが、functionの中身と考えると3番目に来るらしい(ここからややこしい)。その中でさらにinsertCommandしているのでコマンド5はfunctionの最後で実行される。ここまでがひとつの Func。で、コマンド終わりよ。と表示される。

すべてが一つのaddCommand内で、insertCommandを重ねて作るやり方をよくやるんですが、これがややこしやの元凶なのか! というメモ。

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://ryow.net/mt/mt-tb.cgi/400
Listed below are links to weblogs that reference
Progression コマンド実行順序を調べてみる from ryow.net Blog

Home > Progression > Progression コマンド実行順序を調べてみる

About

りょうどっとねっとブログ

Twitter :ryownet

はてな :ryownet

Search

Return to page top