JS中自定义sleep函数

来源:互联网 发布:乐视vr 没数据 编辑:程序博客网 时间:2024/06/16 03:29

js中不存在自带的sleep方法,要想休眠要自己定义个方法,现将自己使用的方法整理如下,后续如果有更优雅的方法,我会再来补充,也欢迎大家多提意见。

1、for循环法

function sleep(d){  for(var t = Date.now();Date.now() - t <= d;);}sleep(5000); //当前方法暂停5秒

利用for循环的这种写法是最简单也最糟糕的方法,如上的代码其实并没有让脚本解释器sleep下来,而且有让CPU迅速上到高负荷的附作用。浏览器甚至会在该段时间内处于假死状态。

2、利用setTimeout

async function test() {  console.log('Hello')  await sleep(1000)  console.log('world!')}function sleep(ms) {  return new Promise(resolve => setTimeout(resolve, ms))}test()
原创粉丝点击