【新人求教】javascript如何实现sleep延时效果
现有以下代码:
这段代码的效果是,先到foo2里设定了计时器,然后跳出,执行foo3,同是当计时器到1s后执行foo1.
我想得到的效果是等foo2里的foo1执行完之后才去跳出执行foo3.
尝试过的办法,把foo2改成
其中sleep是用循环判时实现,造成的结果是卡机。(与此同时有在其它地方用timeout在做帧动画,会造成动画也卡住)。
请问各位大神还有什么办法能实现延时效果,但不影响其它的timeout正常运行。或者有什么其它的解决办法?
function foo1(){
// code
}
function foo2(){
setTimeout(foo1,1000);
}
function foo3(){
// code
}
foo2();
foo3();
这段代码的效果是,先到foo2里设定了计时器,然后跳出,执行foo3,同是当计时器到1s后执行foo1.
我想得到的效果是等foo2里的foo1执行完之后才去跳出执行foo3.
尝试过的办法,把foo2改成
function foo2(){
//setTimeout(foo1,1000);
foo1();
sleep(1000);
}
其中sleep是用循环判时实现,造成的结果是卡机。(与此同时有在其它地方用timeout在做帧动画,会造成动画也卡住)。
请问各位大神还有什么办法能实现延时效果,但不影响其它的timeout正常运行。或者有什么其它的解决办法?
...全文
相关推荐
js中自定义方法实现停留几秒sleep
此外,有一些库如Narrative JS和jwacs尝试通过预编译和扩展JavaScript语法来解决这个问题。
JavaScript实现Sleep函数的代码
如果需要同步阻塞功能,那么需要自己实现一个类似sleep的功能。描述中提到的方法是如何在JavaScript中通过编写自定义函数来实现sleep功能。
为JavaScript提供睡眠功能(sleep) 自编译JS引擎
在描述中提到,通过自编译JS引擎,为JavaScript提供了“sleep”功能。这是通过在引擎内部集成C语言的线程睡眠函数实现的,使得JavaScript代码能够暂停执行一段时间。
javascript里模拟sleep(两种实现方式)
通常有两种常见的方式来模拟JavaScript中的sleep:通过循环和通过异步请求。1. **通过无限循环模拟sleep**这种方法的实现是通过一个无限循环来阻塞代码执行,直到达到指定的时间。
javascript中不提供sleep功能如何实现这个功能
在JavaScript这种单线程环境中,直接的阻塞式等待(如`sleep`)会导致整个浏览器或Node.js应用的UI线程被冻结,用户体验下降。因此,通常我们会采用异步的方式来模拟`sleep`效果。


