在单片机中, 执行程序中常会用到一个Delay的概念
所起的作用就是让程序停一小会,从秒到毫秒甚至微秒的延时, 在做驱动程序时,实现时序上起到很重要的作用文章源自玩技e族-https://www.playezu.com/72443.html
比如Arduino中常使用的就是delay(ms)函数文章源自玩技e族-https://www.playezu.com/72443.html
在Nodejs中, 大家肯定说相应的就是setTimeout, 它虽然能延迟执行, 但使用起来跟delay还是有那么一点不一样的文章源自玩技e族-https://www.playezu.com/72443.html
先来看看执行效果文章源自玩技e族-https://www.playezu.com/72443.html
这是一个循环输出,每输出1次等待1秒钟文章源自玩技e族-https://www.playezu.com/72443.html
代码实现文章源自玩技e族-https://www.playezu.com/72443.html
先利用Promise做个Delay功能的方法文章源自玩技e族-https://www.playezu.com/72443.html
let wait = ms => new Promise(resolve => setTimeout(resolve, ms));它借助setTimeout,在指定时间后resolve出Promise的结果, 以达成延迟"回调"的效果文章源自玩技e族-https://www.playezu.com/72443.html
相当于给出承诺(Promise)后, 在指定的时间后执行结果文章源自玩技e族-https://www.playezu.com/72443.html
具体如何使用呢:文章源自玩技e族-https://www.playezu.com/72443.html
(async ()=>{ console.log("start"); await wait(1000); //延迟1秒 console.log("that is after 1s");)()这样, 在输出"start"后, 系统会等待1秒, 再输出"that is after 1s"
下面给出本文开头的完整样例代码
let delayms = 1000; //ms延迟时长, 单位:毫秒let wait = ms => new Promise(resolve => setTimeout(resolve, ms));console.time("delay-time"); //记录程序开始时间(async ()=>{ for (let i = 0; i
会用的自然知道怎么用, 用在哪[憨笑]
运行环境:
node -vv14.17.0这期就酱紫[做鬼脸]
复杂的问题简单化
每次只关注一个知识点
对技术有兴趣的小伙伴可以关注我, 我会经常分享各种奇奇怪怪又实用的技术知识