var globalArray = [];
此回调每秒最多触发100次
function EventCallback(param) {
globalArray.push(param);
}
我处理项目清单的程序的主要部分。
如果回调在这里修改数组的过程中被触发会发生什么?
while(globalArray.length > 0)
{
ProcessListItem(globalArray.shift());
}
我遇到的问题是Firefox Spidermonkey javascript引擎有时会出现问题(竞争条件/线程问题?)并告诉我globalArray.push不是函数或其他奇怪的错误。
我想要实现的是让回调将项目添加到列表中,以便稍后处理它们。有没有更好的方法来编码?我是新手,所以任何建议都表示赞赏。感谢
答案 0 :(得分:4)
这不会发生,因为JavaScript在您的浏览器中运行单线程。只有在浏览器没有其他任何操作时才会触发该事件。