【发布时间】:2017-12-19 19:47:32
【问题描述】:
我知道我在 jquery 的 ajax 实现中运行的代码是异步的。
我的问题是,jquery实现ajax的成功事件也是异步运行的吗?
换句话说,如果我在成功事件中做了一些耗时的操作,它是否可能会冻结 DOM?像这样的:
$.ajax({
url: "longprocess.php",
type: "post",
success: function(){
do_another_very_long_process();
} //will this slow down the DOM?
});
【问题讨论】:
-
你为什么不试试看?
-
Does it run in the background?没有。JS只有一个线程,所以没有“后台”的概念。Would a time-consuming operation freeze the DOM?是的。 -
您可以通过使用 WebWorkers 获得类似后台处理的功能。
-
@AlexTartan 我对自己的编码技能没有足够的信心,还不知道这是否是我做错了。我以前试过。
-
@RoryMcCrossan 我更改了措辞并摆脱了背景问题,因为 ajax 在您回答时不会在后台运行。谢谢!
标签: javascript jquery ajax dom