当我进行ajax调用并传递async: false
时,它会发出异步请求,但它会停止代码执行,直到请求完成(使其同步(。
它在引擎盖下是如何工作的?如何使异步请求变得同步?
我正在尝试实现相同的逻辑,并希望更好地了解它是如何工作的。
jQuery使用XMLHttpRequest对象。它具有内置的同步模式(在本机代码中处理(。
正如您所注意到的,它会阻止所有其他代码执行。因此,该功能已弃用,不应使用。
请注意,这不是将异步代码转换为同步代码,在一般情况下没有任何技术可以做到这一点(尽管await
可能会在 promise 中产生同步代码的错觉(。