gpt4 book ai didi

javascript - 添加到一个间隔中被读取/删除的数组

转载 作者:行者123 更新时间:2023-11-30 16:42:15 27 4
gpt4 key购买 nike

将对象添加到当前正在间隔方法中使用的 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 - 添加到一个间隔中被读取/删除的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31776106/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com