如何实现sleep的效果(es5或者es6)?

如何实现sleep的效果(es5或者es6)?,第1张

如何实现sleep的效果(es5或者es6)?

参考回答:

(1)while循环的方式

function sleep(ms){var start=Date.now(),expire=start+ms;while(Date.now()<expire);console.log('1111');return;}

执行sleep(1000)之后,休眠了1000ms之后输出了1111。上述循环的方式缺点很明显,容易造成死循环。

(2)通过promise来实现

function sleep(ms){var temple=new Promise((resolve)=>{console.log(111);setTimeout(resolve,ms)});return temple}sleep(500).then(function(){//console.log(222)})

//先输出了111,延迟500ms后输出222

(3)通过async封装

function sleep(ms){return new Promise((resolve)=>setTimeout(resolve,ms));}async function test(){var temple=await sleep(1000);console.log(1111)return temple}test();

//延迟1000ms输出了1111

(4).通过generate来实现

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4884345.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-11
下一篇 2022-11-11

发表评论

登录后才能评论

评论列表(0条)

保存