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