Webアプリケーションが新しいデータをチェックできるように、バックグラウンドでjQueryを「ハートビート」としてAJAX呼び出しを行いたいとします。例えば、10秒ごと。setIntervalを使用したAjaxハートビート、同時に複数の呼び出しを防止する
他の投稿では、setInterval()
を使用して、Xミリ秒ごとに呼び出しを行うメソッドを呼び出すことができます。
ただし、AJAXコールに10秒以上かかるとどうなりますか?私はまだそれが最後の要求を完了したいと思うし、すでに進行中のコールがあるときに別のコールを扇動したくない。これにより、同じ情報がページに2回配置される可能性があります。
元のAJAX呼び出しが完了していない可能性がある場合は、単純に「10秒ごと」ではなく、元のAJAX呼び出しが完了するのを待つ方法を実装する方法は何ですか。
互いに要求を完了するために待機します。既にASP .NETを使用している場合は、SignalRが理想的な組み合わせになる可能性があります。これはWebソケットを使用し、実行している環境によって自動的に他のテクノロジにフォールバックするためです。 Socket.IOは別のものです。 – Luke