【发布时间】:2016-09-08 08:48:01
【问题描述】:
上下文: 我正在玩弄一个游戏创意,只是为了好玩,我在 html5 的画布和 javascript 中做这件事,只是因为我想在闲逛的时候练习。
问题: 在我的游戏中,有很多事情会在不同的时间发生,并且不断创造新的事情要做。精度不是必需的,只要在几秒钟内即可。
我的第一个想法是简单地创建一个数组,它是手动排序的,通过根据执行时间插入新任务,然后我会设置一个超时函数,它会抓取新任务,处理它,获取下一个排队询问的时间,并等待超时,当添加新项目时,它会检查它是否是新的第一个排队,并适当地更改超时。
听起来比实际复杂。
但后来我开始怀疑.... 设置多个计时器会有什么陷阱? 起初我认为设置多个计时器是个坏主意,但后来我开始怀疑浏览器是否以我上面所说的相同方式处理时间,或者其他有效的方式。
所以基本上,总结一下我的担忧: 使用多个超时有什么问题,而不是一个接一个地做。 这种方法有什么陷阱吗?或任何“陷阱”
提前致谢!
【问题讨论】:
-
不确定这是否适合您,但也许您可以使用一次超时创建递归并使用它调用多个函数,例如jsfiddle.net/Lg0wyt9u/1220。
-
您也可以使用
requestAnimationFramejsfiddle.net/Lg0wyt9u/1221 进行此操作
标签: javascript