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