人々がリアルタイム Web アプリを作成するとき、Ajax リクエストを開いたままにしておくか、長時間実行しています。
彼らはどのようにJavaScriptでこれを行うのですか?
通常の ajax リクエストとまったく違いはありません。コールバックは XMLHttpRequest に関連付けられています。リクエストが完了すると、コールバックが呼び出されます。違いはサーバー側にあり、クライアントに対してデータの準備が整うまで、またはタイムアウトが発生するまで、リクエストは開かれたままになります。ブラウザー側では、連続する各要求が応答されるたびにコールバックが呼び出されます。コールバックはサーバーからのデータを処理し、別のリクエストを開始する必要があります。リクエストは非同期で処理されるため、ブラウザはブロックされません。
全体の非常に良い例は、Tornadoに含まれているチャットデモです。