在区间方法中当前正在使用javascript数组时,将对象添加到javascript数组的最佳做法是什么?
function someEvent()
{
array.push("something");
}
function update()
{
array.forEach(function(o, i, a))
{
// do something with the object and delete it
});
}
var updateInterval = setInterval(update, 1000);
这在Angular上下文中使用。 我知道在Javascript中有一些东西比调用函数在其他函数完成之前永远不会调用该函数,什么适用于区间和使用这样的数组?
答案 0 :(得分:2)
由于您指定的原因,修改setInterval
正在使用的数据不会导致任何问题。由于JavaScript的单线程性质。 Setinterval创建了并发的错觉,但如果其他代码正在运行,它会进入队列,因此不会出现任何线程错误。
因此,即使我们不知道例如点击处理程序还是setInterval处理程序将首先调用 ,我们可以保证它们不会被同时调用
在this answer中查看更多详情。