「ネイティブな」同期 ajax 呼び出しはブラウザーのユーザー インターフェイスをブロックするため、現実世界のほとんどのケースには適合しません (少なくとも私の場合)。
非同期 (非ブロッキング) ajax call を使用して同期 (ブロッキング) 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
ご覧のとおり、上記では、UI をブロックしない、ある種の「合成」同期 ajax 呼び出しが必要です。
Javascript はマルチスレッドをサポートしていないため、それは不可能かもしれませんが、質問する価値はあります。
これは、主題の 3 番目の質問です。
これらの質問は、現在の質問に続きました:
ajax 呼び出しをブロックする方法 (ブロックしたい)
は、同期 (ブロック) ajax 呼び出しでブラウザーの UI をブロックできますか?