【发布时间】:2013-02-25 16:58:25
【问题描述】:
当你可以直接调用函数时,像这样创建自己的事件有什么用。
例如
var customEvent:Event = new Event("ev");
_myObject.addEventListener("ev", handler);
private function handler(e:Event):void
{
//Do something
}
//And then dispatching the event else where like this
_myObject.dispatchEvent(customEvent);
当你可以像这样直接调用函数时
handler();
private function handler():void
{
//do something
}
自定义事件到底有什么意义?在这种情况下,我应该使用哪一个来提高效率和最少的资源消耗?
【问题讨论】:
-
通过调度的事件,您可以从任何线程调度事件,但始终从单个线程运行处理程序。对于需要从 GUI 事件线程运行绘图例程的 GUI 代码来说非常常见。也许处理程序调用的函数是不可重入的。
-
你更应该关注信号而不是事件。如果没有事件/信号,管理回调函数引用会变得乏味。
标签: actionscript-3 oop events design-patterns observer-pattern