js的sleep方法

sleep函数作用是让线程休眠,等到指定时间在重新唤起。

var beginTime=new Date().getTime();
while(new Date().getTime()  < beginTime + 5000) {   }
console.log("1")

5秒之后输出1,不过这样的话CPU占用会很高,如果开着占CPU很高的程序(如有一堆flash的页面),很容易被卡死。

  • 方法1:
function sleep1(ms, callback) {
    setTimeout(callback, ms)
}
//sleep 1s
sleep1(1000, () => {
    console.log(1000)
})
  • 方法2:
function sleep2(ms) {
    return new Promise(function(resolve, reject) {
        setTimeout(resolve, ms)
    })
}
sleep2(1000).then(() => {
    console.log(2000)
})
  • 方法3:
function sleep3(ms) {
    return new Promise(function(resolve, reject) {
        setTimeout(resolve, ms)
    })
}
async function init() {
    await sleep3(1000);
}
init().then(() => {
    console.log(3000)
})

参考文章

猜你喜欢

转载自www.cnblogs.com/baboon/p/13373001.html