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);

//第二段代码