sleep 顾名思义 睡眠函数,他的作用是让下面的代码延迟一会在执行,效果等同于setTimeout函数,但是 setTimeout 在逐步延迟的使用中会出现回调地狱的情况。代码如下
setTimeout(()=>{
  console.log("第一次打印")
  setTimeout(()=>{
      console.log("第二次打印")
      setTimeOut(()=>{
          console.log("第三次打印")
      },2000)
  },2000)
},2000)
在其他语言中都提供了 sleep() 函数,但是JS里面没有该方法,下面我们将用两种方式手写sleep函数
Promise方式实现
function sleep(ms){
    return new Promise((resvole,reject)=>{
        setTimeout(resvole,ms)
    })
}
sleep(5000).then(()=>{
    console.log("打印第一次")
    sleep(5000).then(()=>{
        console.log("打印第二次")
        sleep(5000).then(()=>{
            console.log("打印第三次")
        })
    })
})
async/await方式实现
function sleep(ms){
    retrun new Promise((resvole,reject)=>{
        setTimeout(resvole,reject)
    })
}
async function fun(){
    await sleep(5000)
    console.log("第一次打印")
    await sleep(5000)
    console.log("第二次打印")
    await sleep(5000)
    console.log("第三次打印")
}
fun()