as2: 2007年12月アーカイブ

意味があるかはまったく不明。
使いどころが分からないけど、なんとなくやってみた。
import mx.events.EventDispatcher;

var execute = function( func:Function ):Void
{
  arguments.callee.dispatchEvent( { type:"call" } );
  func();
  arguments.callee.dispatchEvent( { type:"fin" } );
}

EventDispatcher.initialize( execute );

var eventListener = {};
eventListener.call = function():Void
{
  trace("Event : call");
}
eventListener.fin = function():Void
{
  trace("Event : fin");
}
execute.addEventListener( "call", eventListener );
execute.addEventListener( "fin" , eventListener );

execute( execution );


function execution():Void
{
  trace("execution");
}