JavaScript/Flash : When exactly are flash external callback methods triggered?

标签 javascript flash

我有一个使用 JavaScript 函数回调的 Flash 应用程序(例如,当它通过套接字接收到一些数据时,它将调用一个 js 脚本,该脚本将根据给定的数据更改 div 的内容)。

Afaik,javascript 中没有实际的互斥,所以我不确定我是否可以/需要模拟类似的东西:

callbackFunc() {
lock(mutex1)
foo
unlock(mutex1)
}
...
someOtherFunc() {
lock(mutex1)
bar
unlock(mutex1)
}

所以,问题是,这些回调何时被调用?它们是简单地排队等待浏览器完成任务后立即执行还是随机触发?

最佳答案

经过几个小时的研究,我读到了this页面上我看到了一个与我所问的非常接近的问题。

我想看到的是,如果套接字接收数据的速度比浏览器端脚本处理它的速度快(例如,在接收到哪个浏览器应该显示和隐藏 gif 动画半秒后每秒接收 2 个请求)会发生什么不打断它),如果他们尝试修改同一个数组,所以我做了一些测试。

如果有多个函数将值插入到一个数组中,而一个函数则弹出它们(当所述数组中数据太多时清除它们的间隔),它的工作方式就像浏览器使用 fifo 方法来处理何时执行这些函数(我不知道不同的浏览器是否以不同的方式处理这个问题,我使用Firefox和Opera):它们不会中断正在执行的函数。

此外,当同时调用两个或多个函数时(例如,使用 setTimeout(...,1000)),无法判断接下来将调用哪个函数,因此我使用一些简单的变量(如 bool 值)来同步它们。

简而言之,当存在可能的外部回调时,它们不会破坏另一个函数使用的全局对象,但如果您需要同步,则必须有一个模仿信号量的值。

关于JavaScript/Flash : When exactly are flash external callback methods triggered?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2984952/

相关文章:

javascript - 使用 addClass() 切换 Canvas 外菜单

javascript - SVG:动态添加动画元素

android - 移动设备上的 StageVideo

flash - 如果要使用哪个Flash/ActionScript IDE,则应该使用其中一个?

actionscript-3 - 获取当前浏览器 URL - ActionScript 3

javascript - 使用 Three.js 启用平滑着色

javascript - 如何获得一个元素的所有 CSS 变换的组合矩阵?

javascript - 使用 Angular Controller 中的选项生成动态下拉列表

flash - Flowplayer flash 组件播放声音但不播放视频

flash - 在Actionscript中绘制三次贝塞尔曲线?