首页 > 代码库 > Js同步异步机制
Js同步异步机制
- JavaScript引擎是单线程的,强制所有的异步事件排队等待执行
setTimeout
和setInterval
在执行异步代码的时候有着根本的不同- 如果一个计时器被阻塞而不能立即执行,它将延迟执行直到下一次可能执行的时间点才被执行(比期望的时间间隔要长些)
- 如果
setInterval
回调函数的执行时间将足够长(比指定的时间间隔长),它们将连续执行并且彼此之间没有时间间隔 - animate因为内部利用的实际是
setInterval
-
$(function(){
for(var i=0;i<10;i++){
$("div").animate({left:‘100px‘,top:‘0px‘},1000,‘swing‘,function({ - $("div").animate({left:‘100px‘,top:‘0px‘},1000,‘swing‘);
- console.log(2)
-
}));
console.log(1)
}
}) - 会先打印10次 1 然后执行animate内容一次,打印10次2,最后执行剩下的9次animate
- 若有嵌套层级关系,则根据依次排队顺序读取运行
Js同步异步机制
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。