添加到一个数组中 read/deleted from in an interval
Add to an array being read/deleted from in an interval
将对象添加到 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 中有一些东西,比如调用一个函数永远不会在另一个函数完成之前调用该函数,什么适用于间隔和像这样使用数组?
出于您指定的原因,修改 setInterval
正在使用的数据不会导致任何问题。由于 JavaScript 的单线程特性。 Setinterval 创造了并发的假象,但如果其他代码是 运行 它会进入队列,因此不会有任何线程错误。
因此,即使我们不知道是否会首先调用点击处理程序或 setInterval 处理程序,我们也可以保证它们不会被调用并发.
在 this answer 中查看更多详细信息。
将对象添加到 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 中有一些东西,比如调用一个函数永远不会在另一个函数完成之前调用该函数,什么适用于间隔和像这样使用数组?
出于您指定的原因,修改 setInterval
正在使用的数据不会导致任何问题。由于 JavaScript 的单线程特性。 Setinterval 创造了并发的假象,但如果其他代码是 运行 它会进入队列,因此不会有任何线程错误。
因此,即使我们不知道是否会首先调用点击处理程序或 setInterval 处理程序,我们也可以保证它们不会被调用并发.
在 this answer 中查看更多详细信息。