当我想让一个节点show()完以后再ajax获取数据进行操作;
$("#outerdiv2").show();
$.ajax({});
如果此时ajax里设置了async:false(代表ajax被设置为同步);
此时如果此段js有耗时操作,那么show()方法会在ajax之后执行。
原因:
ajax设置成同步时(async:false,),浏览器的渲染(UI)线程和js线程是互斥的,在执行js耗时操作时,页面渲染会被阻塞掉。
这个需要注意一下,所以是否需要用async:false是很严谨的。
同步Ajax与UI更新
本文探讨了当Ajax请求设置为同步(async:false)时,如何影响DOM元素的显示顺序及页面渲染过程。在同步模式下,JavaScript执行期间会阻塞UI更新,导致依赖于Ajax返回数据的操作可能延迟执行。

1742

被折叠的 条评论
为什么被折叠?



