Flash挂起IE中的javascript设置超时调用

Flash挂起IE中的javascript设置超时调用,javascript,flash,internet-explorer,settimeout,Javascript,Flash,Internet Explorer,Settimeout,我正在从Flash调用一个Javascript(JS)函数来加载一些数据,并在加载数据时显示一个Flash加载动画 JS函数: getLMSObjectivesStatus() 由于AJAX调用,需要一些时间才能完成(例如>30秒)。正如所料,如果我直接调用JS函数,Flash会在等待回复时挂起 为了解决这个问题,我将Flash与Javascript分离,通过调用不同于Flash的JS函数,该函数在setTimeout内使用匿名函数调用原始JS函数: function delayedCallT

我正在从Flash调用一个Javascript(JS)函数来加载一些数据,并在加载数据时显示一个Flash加载动画

JS函数:

getLMSObjectivesStatus()
由于AJAX调用,需要一些时间才能完成(例如>30秒)。正如所料,如果我直接调用JS函数,Flash会在等待回复时挂起

为了解决这个问题,我将Flash与Javascript分离,通过调用不同于Flash的JS函数,该函数在setTimeout内使用匿名函数调用原始JS函数:

function delayedCallToGetObjectives(){
    setTimeout(function(){getLMSObjectivesStatus()},200);
}
这对Firefox/Chrome非常有效,因为它允许Flash继续加载动画,而无需等待JS的响应。当slow JS函数完成时,它调用Flash,告诉它使用检索到的数据并继续。可爱,快乐

当我使用setTimeout时,IE没有将Flash与JS解耦。闪存在等待这两个选项时挂起:

delayedCallToGetObjectives()

完成。我通过记录进度进行了检查,订单告诉我这肯定是正在发生的事情


有人知道为什么IE中会出现这种情况吗?是否有任何修复/解决方法?

您的Actionscript(Flash)是否希望它调用的JS函数返回值?谢谢您的快速回复。不,它不期待回报。Flash只调用创建setTimeout调用的函数,不返回任何内容。JS完成长函数的循环,创建一个字符串。JS然后调用Flash,说它完成了,Flash检索数据字符串。寻找返回导致了我概述的最初问题,并使用setTimeout解决了这个问题。希望这能让事情更清楚?是的,非常清楚,谢谢。不幸的是,我不知道答案!:)我的第一个猜测是,您的一些JS仅在IE中失败,可能是由于ECMAScript 5语法与ECMAScript 3的对比?该死的,我以为您在做什么;-)我在(IE安全)控制台中没有发现任何错误,但我还没有研究ESv5和v3,所以我将对此进行研究,并在有任何进展的情况下发表文章。无论如何谢谢你!
getLMSObjectivesStatus()