ThomasBurleson
8/19/2011 - 7:52 PM

AS3 Closures Cleanup

AS3 Closures Cleanup

public class Something
{
	public function doSomething(index:int) : void 
	{
		// Async closure for timer completion event
		function onComplete_doSomething(evt:TimerEvent) : void 
		{
			// Always clean up 1st, then notify listeners
			timer.removeEventListener(TimerEvent.TIMER, onComplete_Timer );
			
			dispatchEvent(new SomethingEvent(SomethingEvent.SOMETHING_HAPPENED, index));
		};
	
	  var timer : Timer = new Timer(1000, 1);  // wait 1 second
	 
	      timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete_doSomething);
	      timer.start();
	}

}