async:false;渲染阻塞

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

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

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

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

 

原因:

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

 

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

 

posted @ 2018-11-20 17:15  你风致  阅读(766)  评论(0编辑  收藏  举报