|
3
|
| ArK Sheeba Nancy · 技术社区 · 16 年前 |
|
|
1
4
JavaScript代码必须是非阻塞的,因为任何阻塞的代码,比如等待发生什么事情的循环,都会使整个浏览器没有响应。Web浏览器中的javascript不仅运行在一个线程中,而且实际上与页面呈现和用户界面共享同一个线程。
解决方案是使用计时器:
此外,这里还有一篇关于JavaScript计时器如何工作的有趣文章:
既然你知道为什么阻塞睡眠功能不起作用了,那就来看看吧。
@Tomalak's link
对于一些解决方案,请使用
|
|
|
2
2
这很简单,以前也有人回答过。请参阅此问题的答案: |
|
|
3
1
你在抱怨setTimeout和setInterval,然后描述你是如何使用它们的。用户设置超时 不在循环中 如果还有更多的事情要做,让它调用另一个setTimeout,或者在达到维护的计数后使用setInterval和call clearInterval。 |