千家信息网

js中如何实现sleep

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章主要为大家展示了"js中如何实现sleep",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"js中如何实现sleep"这篇文章吧。1、利用循环实现类似
千家信息网最后更新 2025年01月17日js中如何实现sleep

这篇文章主要为大家展示了"js中如何实现sleep",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"js中如何实现sleep"这篇文章吧。

  1、利用循环实现类似sleep

  functionsleep(d){

  for(vart=Date.now();Date.now()-t<=d;);

  }

  sleep(5000);//当前方法暂停5秒

  优点:简单粗暴,通俗易懂。

  缺点:这是最简单粗暴的实现,确实sleep了,也确实卡死了,CPU会飙升,无论你的服务器CPU有多么Niubility。

  2、Promise版本实现类似sleep

  functionsleep(ms){

  returnnewPromise(resolve=>

  setTimeout(resolve,ms)

  )

  }

  sleep(3000).then(()=>{

  //code

  })

  优点:这种方式实际上是用了setTimeout,没有形成进程阻塞,不会造成性能和负载问题。

  缺点:虽然不像callback套那么多层,但仍不怎么美观,而且当我们需要在某过程中需要停止执行(或者在中途返回了错误的值),还必须得层层判断后跳出,非常麻烦,而且这种异步并不是那么彻底,还是看起来别扭。

  3、通过generate来实现类似sleep

  function*sleep(ms){

  yieldnewPromise(function(resolve,reject){

  console.log(111);

  setTimeout(resolve,ms);

  })

  }

  sleep(500).next().value.then(()=>{

  console.log(11111)

  })

  优点:同Promise优点,另外代码就变得非常简单干净,没有then那么生硬和恶心。

  缺点:但不足也很明显,就是每次都要执行next()显得很麻烦,虽然有co(第三方包)可以解决,但就多包了一层不好看,错误也必须按co的逻辑来处理不爽。

以上是"js中如何实现sleep"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

优点 内容 篇文章 缺点 粗暴 易懂 错误 麻烦 学习 帮助 干净 明显 生硬 通俗 别扭 恶心 美观 不好 不怎么 代码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 国家语言能力数据库 残疾人职业数据库 我的世界服务器火影时装 苏州项目软件开发费用 nginx服务器配置要求 蒲江县网络技术专业 做运营还是软件开发好 全球网络安全 中国力量 法律数据库国家队 郑州市互联网科技国奥商务 长宁区营销软件开发平台资质 手动更新服务器时间命令 三国志服务器多久以后没新手期 紫光展锐通信软件开发面试 2018年网络安全试点示范 网盘文件服务器 数据库驱动版本低 wps数据库的收录范围 vps服务器提高安全性能 通州区信息化软件开发价格实惠 lol每个服务器的特点雷瑟守备 软件开发考证券从业资格证 Vb内excel导入数据库 itc视频会议终端录播服务器 在哪里查看上传服务器对上传文件的要求 杭州康祺网络技术代运营 网络安全防护口罩用什么材料 电脑添加新网络安全类型选什么 数据库技术 实验指导 数据库用户登录实验报告
0