JavaScript sleep/wait,然后继续

我有一个JavaScript代码,需要向其中添加睡眠/等待功能。我正在运行的代码已经在一个函数中,例如:

function myFunction(time)

{

alert('time starts now');

//code to make the program wait before continuing

alert('time is up')

}

我听说可能的解决方案可能包括

setTimeout

但我不确定在这种情况下如何使用它。

我不能使用PHP,因为我的服务器不支持PHP,尽管使用jQuery可以。

回答:

JS没有睡眠功能,它具有 或 函数。

如果您可以将暂停后需要运行的代码移到setTimeout()回调中,则可以执行以下操作:

//code before the pause

setTimeout(function(){

//do what you need here

}, 2000);

这不会停止脚本的执行,但是只要setTimeout()是异步函数,此代码

console.log("HELLO");

setTimeout(function(){

console.log("THIS IS");

}, 2000);

console.log("DOG");

将在控制台中打印:

HELLO

DOG

THIS IS

(请注意, 是在 之前打印的)


您可以使用以下代码来模拟短时间的睡眠:

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的执行,而且取决于浏览器的实现,可能会使页面完全不响应,也可能使整个浏览器不响应。换句话说,这几乎总是错误的做法。

以上是 JavaScript sleep/wait,然后继续 的全部内容, 来源链接: utcz.com/qa/405787.html

回到顶部