2017-07-14 62 views
-2

我知道我在jquery的ajax实现中运行的代码是异步的。jquery成功事件是否异步运行?

我的问题是,jquery实现ajax的成功事件是否也异步运行?

换句话说,如果我在成功事件中做了一些耗时的操作,它可能会冻结DOM吗?就像这样:

$.ajax({ 
    url: "longprocess.php", 
    type: "post", 
    success: function(){ 
      do_another_very_long_process(); 
    } //will this slow down the DOM? 
}); 
+2

你为什么不试试呢? –

+0

'它是否在后台运行?'没有JS只有一个线程,所以没有'背景'的概念。 “一个耗时的操作是否会冻结DOM?”是的。 –

+0

您可以通过使用WebWorkers获得类似于后台处理的内容。 – Barmar

回答

0

在JavaScript中没有后台代码,但我认为你的意思是像Ajax那样异步。是的,它会冻结DOM。当Ajax结果返回时没有错误,并且代码像任何普通的JavaScript代码一样执行时,将调用success事件中的函数。

+1

是的,我摆脱了我的问题的背景部分,因为他们混淆/不正确。 –