Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript(或同等语言)睡眠_Javascript_Delay_Wait - Fatal编程技术网

使用javascript(或同等语言)睡眠

使用javascript(或同等语言)睡眠,javascript,delay,wait,Javascript,Delay,Wait,如何在执行下一个函数之前等待1秒 例如,像php一样有sleep()setTimeout(f,1000) 设置在1000毫秒后运行函数的超时 如评论中所述。JavaScript是单线程的,该线程与浏览器UI线程共享 因此,通过调用阻塞函数,如sleep。您将阻止唯一的线程。这也意味着,当页面被阻塞时,客户端无法与页面交互 有关更多信息,请参阅文章setTimeout(f,1000) 设置在1000毫秒后运行函数的超时 如评论中所述。JavaScript是单线程的,该线程与浏览器UI线

如何在执行下一个函数之前等待1秒

例如,像php一样有sleep()

setTimeout(f,1000)

设置在1000毫秒后运行函数的超时

如评论中所述。JavaScript是单线程的,该线程与浏览器UI线程共享

因此,通过调用阻塞函数,如
sleep
。您将阻止唯一的线程。这也意味着,当页面被阻塞时,客户端无法与页面交互

有关更多信息,请参阅文章

setTimeout(f,1000)

设置在1000毫秒后运行函数的超时

如评论中所述。JavaScript是单线程的,该线程与浏览器UI线程共享

因此,通过调用阻塞函数,如
sleep
。您将阻止唯一的线程。这也意味着,当页面被阻塞时,客户端无法与页面交互


有关更多信息,请参阅本文

您可以使用setTimeOut方法来执行此操作

setTimeout(“alertMsg()”,1000)

函数alertMsg(){ 警惕(“你好”); }


您可以使用setTimeOut方法来执行此操作

setTimeout(“alertMsg()”,1000)

函数alertMsg(){ 警惕(“你好”); }


尽管所有主流浏览器都支持setTimeout,但我更喜欢使用javascript库,因为通常情况下,javascript库所做的工作比调用timeout函数要多。在YUI its中:

YAHOO.lang.later(1000, this, function() {
...
});

更多信息。

尽管所有主流浏览器都支持setTimeout,但我更喜欢使用javascript库,因为通常情况下,javascript库所做的工作比调用超时函数要多。在YUI its中:

YAHOO.lang.later(1000, this, function() {
...
});

更多信息。

的可能副本的可能副本的可能副本的可能副本的确切副本扩展:您不希望出现“睡眠”之类的情况,因为您不希望浏览器在等待时停止运行。因为Javascript是事件驱动的,所以您需要将控制权交还给浏览器,并告诉它在必要的时间后唤醒您。要扩展这一点:您不希望出现“睡眠”之类的情况,因为您不希望浏览器在等待时停止运行。因为Javascript是事件驱动的,所以您需要将控制权交还给浏览器,并告诉它在必要的时间后唤醒您。此示例的细节也没有帮助:将字符串作为第一个参数传递给
setTimeout
,因为它的计算结果为
setTimeout(function(){eval(“myFunction()”),这被认为是一种不好的做法;},3000)
timeMsg
将超时句柄分配给t,但从不返回,因此无法清除超时。它还与
alertMsg
紧密耦合,因为它使用了一个神奇的字符串作为执行回调。这个例子的细节也没有帮助:将字符串作为第一个参数传递给
setTimeout
,因为它的计算结果是
setTimeout(function(){eval(“myFunction()”;},3000)
timeMsg
将超时句柄分配给t,但从不返回,因此无法清除超时。它还与
alertMsg
紧密耦合,因为它使用一个神奇的字符串作为执行回调。为什么更喜欢使用一个库呢。仅仅为了这个而包括一个图书馆似乎很可笑。@Ryanos真的吗!?如果这个家伙正在使用setTimeout,那么很可能他所做的不仅仅是调用函数休眠1秒。这是一个很好的实践,加上YUI和其他人将一些复杂性抽象出来,比如间隔调用。别那么高兴了,去喝杯咖啡吧,那是另一回事。推荐一个符合浏览器要求的库(总是好的)和推荐一个解决一个非常具体问题的库是有区别的。为什么要使用一个库来解决这个问题呢。仅仅为了这个而包括一个图书馆似乎很可笑。@Ryanos真的吗!?如果这个家伙正在使用setTimeout,那么很可能他所做的不仅仅是调用函数休眠1秒。这是一个很好的实践,加上YUI和其他人将一些复杂性抽象出来,比如间隔调用。别那么高兴了,去喝杯咖啡吧,那是另一回事。推荐一个符合浏览器要求的库(总是好的)和推荐一个解决非常具体问题的库是有区别的。