sleep函数作用是让线程休眠,等到指定时间在重新唤起。
方法一:因为JS是单线程的,需要伪死循环阻塞主线程。
所以通过这种方式可以实现真正意义上的sleep()。
function sleep(delay) {
var start = (new Date()).getTime();
while ((new Date()).getTime() - start < delay) {
continue;
}
}
function test() {
console.log('start');
sleep(2000);
console.log('end');
}
方法二:定时器
function sleep1(ms, callback) {
setTimeout(callback, ms);
}
//sleep 1s
sleep1(1000, () => {
console.log(1000)
});