由于“本机”同步 ajax 调用会阻塞浏览器用户界面,因此它不适合大多数实际情况(至少我的情况)。
我想知道是否有任何方法可以使用异步(非阻塞)ajax 调用来模拟同步(阻塞)ajax 调用,以便结果是同步调用但不会阻塞 UI。
以下代码更好地解释了它:
function do_synchronous_ajax_call(url){
// Performs an asynchronous ajax call, which doesn't block the UI, BUT, blocks this current script execution
}
var xyz = do_synchronous_ajax_call("http://...."); // Call is blocking until the inner ajax call returns
// Process `xyz` from here
如您所见,上面希望有某种“合成”同步 ajax 调用,它不会阻塞 UI。
Javascript 不支持多线程,所以这可能是不可能的,但值得一问。
这是本题的第三个问题。
这些问题跟着我到了当前的问题:
如何阻止 ajax 调用(我希望它阻止)
同步(阻塞)ajax 调用能否阻止浏览器的 UI?