当前位置: 首页 > 面试题库 >

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

常培
2023-03-14
本文向大家介绍如何实现sleep的效果(es5或者es6)?相关面试题,主要包含被问及如何实现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来实现

 

 

 类似资料:
  • 请问,图中效果如何实现?感谢 /

  • 这种效果如何使用THREEjs实现?

  • 本文向大家介绍jQuery实现数字自动增加或者减少的动画效果示例,包括了jQuery实现数字自动增加或者减少的动画效果示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery实现数字自动增加或者减少的动画效果。分享给大家供大家参考,具体如下: 效果图: 1.HTML: 2.JS: 可以自行设定每次增加的大小 问题: 1。要是需要用背景图片中的数字替换当前显示的数字,并且有上下滚动的

  • 本文向大家介绍js如何实现淡入淡出效果,包括了js如何实现淡入淡出效果的使用技巧和注意事项,需要的朋友参考一下 淡入淡出效果,在日常项目中经常用到,可惜原生JS没有类似的方法,而有时小的页面并不值得引入一个jQuery库,所以就自己写了一个,已封装,有用得着的朋友,可以直接使用。代码中另附有一个设置元素透明度的方法, 是按IE规则(0~100)设置, 若改成标准设置方法(0.00~1.00),,下