JavaScript:如何在Adobe Flash上​​安排相同功能的多个调用

时间:2012-03-03 02:31:48

标签: javascript scheduling

几乎每100毫秒调用一个名为jsReceiveRawAudioDataFromFlash(rawData)的JavaScript函数,具体取决于Flash中麦克风收集音频数据的速度。

function jsReceiveRawAudioDataFromFlash(rawData) {
    document.write("Beginning of this JS function");

    // Computation expensive work
    // I CANNOT put this work in Flash, must be in JavaScript

    // Send it to the network (server)

    document.write("Beginning of this JS function");
}

每次Flash麦克风收集音频数据片段时,都会调用此JavaScript函数。

这个JS函数接收rawData,并做一些非常耗费计算的工作,然后发送到网络(服务器)。

我发现,之前的呼叫尚未完成,另一个呼叫已启动,然后前一个呼叫的未执行部分被删除。 编辑 - (我在此功能中遇到了内存问题,修好后,它没有掉线)

所以我需要安排通话。我怎么能这样做?

感谢。

彼得

1 个答案:

答案 0 :(得分:1)

在JavaScript中添加一个数组,并使用布尔值表示该函数正在运行/运行。

调用该函数时,检查该函数是否已在运行,如果是,则将要执行的数据堆叠到数组中。

当该功能完成时,检查阵列是否有任何其他要操作的项目。如果有,则对它们进行操作,如果没有,则将布尔值设置为false并等待。

类似于这个?