JS没有睡眠功能,它具有 setTimeout() 或setInterval() 函数。
如果您可以将暂停后需要运行的代码移到
setTimeout()回调中,则可以执行以下操作:
//pre before the pausesetTimeout(function(){ //do what you need here}, 2000);这不会停止脚本的执行,但是只要
setTimeout()是异步函数,此代码
console.log("HELLO");setTimeout(function(){ console.log("THIS IS");}, 2000);console.log("DOG");将在控制台中打印:
HELLODOGTHIS IS
(请注意, DOG 是在 此 之前打印的)
您可以使用以下代码来模拟短时间的睡眠:
function sleep(milliseconds) { var start = new Date().getTime(); for (var i = 0; i < 1e7; i++) { if ((new Date().getTime() - start) > milliseconds){ break; } }}现在,如果您想睡一秒钟,只需使用:
sleep(1000);
请注意, 此代码将使您的脚本忙_n毫秒_。这不仅会停止页面上Javascript的执行,而且取决于浏览器的实现,可能会使页面完全不响应,也可能使整个浏览器不响应。换句话说,这几乎总是错误的做法。



