This question already has answers here:
How {async:false} works in jQuery AJAX request?
                                
                                    (2个答案)
                                
                        
                4个月前关闭。
            
        

当我进行ajax调用并传递async: false时,它将发出异步请求,但会停止执行代码,直到请求完成(使其成为同步)为止。

它是如何工作的?如何使异步请求变为同步?

我正在尝试实现相同的逻辑,并希望更好地了解其工作原理。

最佳答案

jQuery使用XMLHttpRequest对象。它具有内置的同步模式(以本机代码处理)。

如您所见,它阻止了所有其他代码的执行。因此,该功能已被弃用,不应使用。

请注意,这并不是将异步代码转换为同步代码,在一般情况下,没有任何技术可以做到这一点(尽管await可以使承诺中的同步代码产生错觉)。

10-05 20:48
查看更多