调用 AS3 侦听器时代码流会发生什么变化?
What does happen to code flow when a AS3 listener is called?
更具体地说,我想知道在 AS3 中调用侦听器来处理此事件时,以下代码会发生什么情况。
其实是在函数handleAnyEvent()
为运行时流程中断,还是流程继续,在另一个线程中handleAnyEvent()
为运行时调用其他函数。
任何人都可以解释这段代码的确切流程吗?
anything.addEventListener(Event.ANY_EVENT, handleAnyEvent);
function handleAnyEvent(e:Event):void{
//Do something here
}
anything.dispatchEvent(new Event(Event.ANY_EVENT));
somefunction();
otherfunction();
examplefunction();
是的,dispatchEvent
块。但是,假设事件处理程序将花费微不足道的时间,因为 ActionScript 几乎没有执行非微不足道的阻塞操作的方法,例如 I/O.
Flash 在单线程中运行。 (是的,有 Worker,但这不是事件系统默认使用的)
更具体地说,我想知道在 AS3 中调用侦听器来处理此事件时,以下代码会发生什么情况。
其实是在函数handleAnyEvent()
为运行时流程中断,还是流程继续,在另一个线程中handleAnyEvent()
为运行时调用其他函数。
任何人都可以解释这段代码的确切流程吗?
anything.addEventListener(Event.ANY_EVENT, handleAnyEvent);
function handleAnyEvent(e:Event):void{
//Do something here
}
anything.dispatchEvent(new Event(Event.ANY_EVENT));
somefunction();
otherfunction();
examplefunction();
是的,dispatchEvent
块。但是,假设事件处理程序将花费微不足道的时间,因为 ActionScript 几乎没有执行非微不足道的阻塞操作的方法,例如 I/O.
Flash 在单线程中运行。 (是的,有 Worker,但这不是事件系统默认使用的)