我想派遣一个活动,但不知道什么时候该做,以获得正确的结果。第一个事件“submitClicked”是在正确的位置,并且效果很好。但是,第二个事件“dataReady”似乎可能是一个问题。在移动到下一行之前,AS3是否等待函数中的每行代码执行?
我需要它在this.compiledFormData设置后分派。 在移动到下一行之前,AS3是否等待函数中的每一行代码被执行?
// --------------------------------------------------------------------
public function submitForm()
{
//dispatch an event
var cEvt:FormRendererEvent = new FormRendererEvent("submitClicked");
cEvt.customMessage = "Started Submitting Form Data";
dispatchEvent(cEvt);
this.compiledFormData = JSON.encode(this.compileFormData());
var cEvt:FormRendererEvent = new FormRendererEvent("dataReady");
cEvt.customMessage = "Data is ready to be used";
dispatchEvent(cEvt);
}//end function
所以......在一个函数中,代码依次运行以等待每行完成,然后再转到下一行。但是当你在一个函数中间派发一个事件时,它将继续像正常一样运行当前函数,并且同时开始运行与派发事件相关的任何函数。那是对的吗?所以你可以同时执行两个或更多的函数? – zechdc
是的,任何数量的事件都可以在后台处理。 @Marplesoft是对的,'this.compiledFormData = ....'会同步运行,而你的分派事件将在后台异步运行。 – BumbleB2na