async:false;渲染阻塞

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

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

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

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

原因:

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

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

原文地址:https://www.cnblogs.com/xinyouhunran/p/9990101.html