gpt4 book ai didi

javascript - Javascript 中的多次超时或多次调用

转载 作者:行者123 更新时间:2023-11-30 00:03:31 28 4
gpt4 key购买 nike

我在玩游戏的想法,只是为了好玩,我在 html5 的 Canvas 和 javascript 中做这件事,只是因为我想在玩的时候练习。

在我的游戏中,有很多事情会在不同的时间发生,并且不断创造新的事情要做。精度不是必需的,只要在几秒钟内即可。

我的第一个想法是简单地拥有一个手动排序的数组,通过根据执行时间插入新任务,然后我会在超时时设置一个函数,它会抓取新任务,处理它,获取下一个请求的时间,并等待超时,当添加新项目时,它会检查它是否是新的队列中的第一个,并适本地更改超时。

但后来我开始怀疑....设置很多定时器会有什么陷阱?起初我认为设置多个计时器不是个好主意,但后来我开始怀疑浏览器是否可以按照我上面提到的相同方式或其他有效方式处理时间。

基本上,总结一下我的担忧:

  • 使用多个超时与一个接一个地执行相比有什么问题。
  • 这种方法有什么缺陷吗?或任何“陷阱”

最佳答案

设置多个超时不会影响您的性能,因此您不必为此担心。 Node.js 内部 handles timeouts in a similar manner to yours idea .如果您想查看一些示例,请查看以下代码段:

let count = 10000;

console.time('Total time')

for (let i = 0; i < count; ++i) {
setTimeout(() => {
if (--count === 0) {
console.timeEnd('Total time')
}
}, i / 10); // Set 10 timeouts for each millisecond
}

理想情况下,它的执行时间应恰好为 1000 毫秒,如您所见,实际结果与此相差不远。

关于javascript - Javascript 中的多次超时或多次调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39386461/

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