同步异步的延时操作

setTimeout函数是异步操作,例如:

console.log(1)
setTimeout(function(){
    console.log(2)
},5000)
console.log(3)

会先执行 1-3-2

下面编写的sleep 函数,是同步的,执行完延时阻塞之后,才执行下面的代码:

console.log(1);
function sleep(milliSeconds) {
        var startTime = new Date().getTime();
        while (new Date().getTime() < startTime + milliSeconds);
}
 
sleep(5000);
console.log(3);

会执行1-3

原文地址:https://www.cnblogs.com/xiaozhumaopao/p/10334344.html