有没有一种方法可以让我在 JavaScript 执行其他操作之前先休眠?
例子:
var a = 1 + 3;
// Sleep 3 seconds before the next action here.
var b = a + 4;
原文由 Jin Yong 发布,翻译遵循 CC BY-SA 4.0 许可协议
有没有一种方法可以让我在 JavaScript 执行其他操作之前先休眠?
例子:
var a = 1 + 3;
// Sleep 3 seconds before the next action here.
var b = a + 4;
原文由 Jin Yong 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您真的需要 sleep()
只是为了测试一些东西。但请注意,它会在调试时大部分时间使浏览器崩溃 - 可能这就是您无论如何都需要它的原因。在生产模式下,我会注释掉这个函数。
function pauseBrowser(millis) {
var date = Date.now();
var curDate = null;
do {
curDate = Date.now();
} while (curDate-date < millis);
}
不要在循环中使用 new Date()
,除非你想浪费内存、处理能力、电池甚至设备的使用寿命。
原文由 Rodrigo 发布,翻译遵循 CC BY-SA 3.0 许可协议
13 回答13.1k 阅读
7 回答2.3k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.4k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
6 回答1.2k 阅读
您可以使用
setTimeout
来达到类似的效果:这并不是真正“睡眠”JavaScript——它只是在一定时间(以毫秒为单位指定)后执行传递给
setTimeout
的函数。虽然可以为 JavaScript 编写睡眠函数,但最好使用setTimeout
如果可能的话,因为它不会在睡眠期间冻结所有内容。