0
var globalArray = [];

此回调每秒最多触发 100 次

function EventCallback(param) {

globalArray.push(param);

}

我处理项目列表的程序的主要部分。

如果在此处修改数组的过程中触发回调会发生什么?

while(globalArray.length > 0) 
{

ProcessListItem(globalArray.shift());

}

我遇到的问题是 Firefox Spidermonkey javascript 引擎有时会出错(竞争条件/线程问题?)并告诉我 globalArray.push 不是函数或其他奇怪的错误。

我想要实现的是让回调将项目添加到列表中,以便稍后处理它们。有没有更好的编码方法?我是新手,所以任何建议都值得赞赏。谢谢

4

1 回答 1

5

这不会发生,因为 JavaScript 在您的浏览器中运行单线程。只有在浏览器无事可做时才会触发该事件。

于 2013-02-20T18:05:56.417 回答