2

我正在开发一个简单的模拟,包括供地方官员使用的城市预算。我已经开发了一个模拟地图和一个算法,当它的函数被调用时“增长”地图。因此,updateMap();导致整个游戏领域的许多变化。目前,我将此函数绑定到游戏中的其他机制,例如,每次发生其他事情时调用一次。我的问题是这样的:有没有办法有这样的东西

while (true)
    setTimeout('updateMap();', 45000);

这样地图将独立于用户正在做的任何事情以及游戏中发生的事情进行自我更新。我知道 Javascript 不支持线程,但是有没有可以模拟一些像这样的简单线程?

4

3 回答 3

4

你会寻找setInterval(updateMap, 45000)

它将采用您提供的功能并每 x 毫秒运行一次。

希望这可以帮助!

于 2012-05-29T19:47:26.753 回答
1

你想要一个 WebWorker:

http://caniuse.com/#search=webworker

于 2012-05-29T19:47:33.490 回答
1

答案确实是setInterval()。可以在此处找到使用它来模拟多线程的示例:http ://www.sitepoint.com/multi-threading-javascript/

于 2012-05-29T19:49:37.387 回答