as 3コールバックメソッドシミュレーションイベントリスニング

3487 ワード

//=================Client.as ==============

package callback{

    import flash.display.Sprite;

    

    public class Client extends Sprite{

        public function Client() {

            // Seriver callFun , clientFun callFun 

            var server : Server = new Server();

            server.callFun(clientFun);

        }

        

        // Server callFun 

        public function clientFun() : void{

            trace("I am a callback function defiend by Client");

        }

        

    }

}



//===================Server.as==============

package callback{

    import flash.display.Sprite;

    import flash.utils.setTimeout;

    

    public class Server extends Sprite{

        public function Server() {

            super();

        }

        

        // Client 

        public function callFun(arg : Function) : void{

            trace("I am a server method.....");

            // 

            setTimeout(showMsg, 1000);

            

            // Client 

            setTimeout(arg, 3000);

        }

        

        private function showMsg() : void{

            trace("do some stuff on server..........");

        }

    }

}