This question already has answers here:
How {async:false} works in jQuery AJAX request?
(2个答案)
4个月前关闭。
当我进行ajax调用并传递
它是如何工作的?如何使异步请求变为同步?
我正在尝试实现相同的逻辑,并希望更好地了解其工作原理。
(2个答案)
4个月前关闭。
当我进行ajax调用并传递
async: false
时,它将发出异步请求,但会停止执行代码,直到请求完成(使其成为同步)为止。它是如何工作的?如何使异步请求变为同步?
我正在尝试实现相同的逻辑,并希望更好地了解其工作原理。
最佳答案
jQuery使用XMLHttpRequest对象。它具有内置的同步模式(以本机代码处理)。
如您所见,它阻止了所有其他代码的执行。因此,该功能已被弃用,不应使用。
请注意,这并不是将异步代码转换为同步代码,在一般情况下,没有任何技术可以做到这一点(尽管await
可以使承诺中的同步代码产生错觉)。