Js
sleep
js 没有sleep,如果要实现sleep效果,最接近的是setTimeout,通过timeout后继续执行其他代码
如下所示,第一段代码后将停3000毫秒,相当于sleep了3000秒,然后再执行第二段代码
// 第一段代码
setTimeout(function(){
//第二段代码
},3000);
使用Promise
改造一下,使得可以将setTimeout封装到通用的方法中
如下所示,需要的地方只要sleep(1000).then(function(){})就行了
但是,相关的执行代码还是在两段代码内,代码不是特别清晰,可读性差
let sleep= (time)=> new Promise((resolve)=>{
setTimeout(resolve,time)
})
//第一段代码
sleep(3000).then(function(){
//第二段代码
});
使用 async/await
关键字
如下所示,基本上就相当于实现了sleep
let sleep= (time)=> new Promise((resolve)=>{
setTimeout(resolve,time)
})
//第一段代码
await sleep(3000);
//第二段代码