当我想让一个节点show()完以后再ajax获取数据进行操作;

$("#outerdiv2").show();
$.ajax({});

如果此时ajax里设置了async:false(代表ajax被设置为同步);

此时如果此段js有耗时操作,那么show()方法会在ajax之后执行。

 

原因:

ajax设置成同步时(async:false,),浏览器的渲染(UI)线程和js线程是互斥的,在执行js耗时操作时,页面渲染会被阻塞掉。

 

这个需要注意一下,所以是否需要用async:false是很严谨的。

 

相关文章: