web-dev-qa-db-ja.com

Ajaxで非同期とはどういう意味ですか?

Ajaxで非同期とはどういう意味ですか?また、Ajaxは、サーバーポーリングなしでデータをプルするタイミングをどのように認識しますか?

41
JCX

非同期とは、スクリプトがサーバーにリクエストを送信し、応答を待たずに実行を継続することを意味します。応答が受信されるとすぐに、ブラウザイベントが発生し、スクリプトが関連するアクションを実行できるようになります。

Ajaxは、サーバーからデータをいつプルするかを知っています。ユーザーはいつデータをプルするかを指示するからです。

54
Mchl

それが他の文脈で何を意味するかについて。 ajax呼び出しを行うと、戻るまでブロックされません。

6
fastcodejava

ブラウザはスレッドモデルへのアクセスを許可しないため、ユーザーインターフェイスを処理するスレッドは1つだけです。したがって、アプリケーション内のすべての変更は同じスレッド内にあります。

幸いなことに、ブラウザはAHRとしても知られるXHR(XMLHttpRequest)のようないくつかの非同期APIを公開しています。オブジェクトのイベントハンドラーを登録すると、このオブジェクトのアクションは別のスレッドで実行され、ブラウザーはメインスレッドでイベントをトリガーします。

非同期とは、メインスレッドがアクションを実行できる状態になったときにブラウザが待機しないことを意味します

3
lborgav

(Ajaxの)非同期は、一定のイベントスタックで着信要求を処理し、応答を待たずに小さな要求を次々に送信します。つまり、非同期ajax呼び出しではコードの次の行を実行できますが、同期呼び出しではサーバーからの応答があるまでJavaScriptの実行を停止します。

0
Mandeep Kaur