js中提供setTimeout这个函数,实际上是障眼法,任然是单线程中执行的;
并不一定会在你设置的时间执行对应函数;
setTimeout(function () { while (true) {
console.log(0)
} }, 2000);
setTimeout(function () { alert('1'); }, 4000);
比如上面在4秒之后,不会弹出1,而且浏览器一直在执行
console.log(0)
所以,真正实现sleep的函数
可以是:
function sleep(millis){
var date = new Date();
var curDate = null;
do {
curDate = new Date();
}
while(curDate-date < millis);
}
本文分享自 交互设计前端开发与后端程序设计 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!