在JavaScript中,什么相当于Java的Thread.sleep() ?
当前回答
或者您可以使用setInterval函数,在指定的毫秒数之后调用特定的函数。只需为setInterval原型执行谷歌即可。我不太记得了。
其他回答
为获得最佳解决方案,ecma脚本2017使用async/await语句
Await只能在async函数内部使用
function sleep(time) {
return new Promise((resolve) => {
setTimeout(resolve, time || 1000);
});
}
await sleep(10000); //this method wait for 10 sec.
注意:async / await并不像thread那样实际停止线程。睡觉,但是要模拟
或者您可以使用setInterval函数,在指定的毫秒数之后调用特定的函数。只需为setInterval原型执行谷歌即可。我不太记得了。
简单的答案是不存在这样的函数。
最接近你的东西是:
var millisecondsToWait = 500;
setTimeout(function() {
// Whatever you want to do after the wait
}, millisecondsToWait);
注意,你特别不想忙着等待(例如在一个旋转循环中),因为你的浏览器几乎肯定是在单线程环境中执行你的JavaScript。
下面是一些其他关于JavaScript线程的SO问题:
JavaScript和线程 为什么JavaScript不支持多线程?
这个问题可能也有帮助:
setTimeout -如何避免使用字符串回调?
没有直接的对等物,因为它会暂停一个网页。但是有一个setTimeout(),例如:
function doSomething() {
thing = thing + 1;
setTimeout(doSomething, 500);
}
闭包例子(谢谢Daniel):
function doSomething(val) {
thing = thing + 1;
setTimeout(function() { doSomething(val) }, 500);
}
第二个参数是触发前的毫秒数,您可以将其用于时间事件或执行操作前的等待。
编辑:根据注释更新,以获得更清晰的结果。
试试这段代码。我希望这对你有用。
function sleep(seconds)
{
var e = new Date().getTime() + (seconds * 1000);
while (new Date().getTime() <= e) {}
}
推荐文章
- 为什么MongoDB Java驱动在条件中使用随机数生成器?
- 如何让一个按钮将我的页面重定向到另一个页面?
- 即使从未抛出异常,使用try-catch块的代价是否昂贵?
- 什么时候我们应该使用观察者和可观察对象?
- 如何让元素被点击(对于整个文档)?
- Java中的split()方法对点(.)不起作用。
- Eclipse调试器总是阻塞在ThreadPoolExecutor上,没有任何明显的异常,为什么?
- 我如何检查如果一个变量是JavaScript字符串?
- Java生成两个给定值之间的随机数
- 如何检测如果多个键被按下一次使用JavaScript?
- 如何有效地从数组列表或字符串数组中删除所有空元素?
- 如何通过history. pushstate获得历史变化的通知?
- 比较JUnit断言中的数组,简洁的内置方式?
- codestyle;把javadoc放在注释之前还是之后?
- 如何在Spring中定义List bean ?