【发布时间】:2010-12-22 12:21:25
【问题描述】:
我在以正确的编年史顺序触发和删除事件时遇到了一些麻烦。下面的代码给出了以下输出:
- 将海报保存到数据库中,并发送事件
- 调用服务,调度事件已移除 = false
- 调用服务,调度事件已移除 = false
- 调用服务,调度事件已移除 = true
- 将海报保存到数据库中,并发送事件
- 将海报保存到数据库中,并发送事件
当然这应该更像是:
- 将海报保存到数据库中,并发送事件
- 调用服务,已移除调度事件 = true
- 将海报保存到数据库中,并发送事件
- 调用服务,已移除调度事件 = true
- 将海报保存到数据库中,并发送事件
- 调用服务,调度事件已移除 = true
有人可以帮我解决这个问题吗?我对如何解决这个问题没有任何想法。
谢谢!
for(var i:int = 0;i< 3;i++){
createPoster();
}
function createPoster(){
Main.db.savePoster();
Main.db.addEventListener(Config.evt_SAVEPOSTER_READY, callService);
}
function callService(){
Main.db.removeEventListener(Config.evt_SAVEPOSTER_READY, callService);
}
【问题讨论】:
标签: flash actionscript-3 events race-condition