2

ユーザーがしばらくの間 (通常は 10 分以上) 同じページにいることが予想される Web アプリケーション (HTML/CSS/JS フロントエンド、C# バックエンド) を作成しています。サーバーを定期的にチェックして、ユーザーのセッションが期限切れになっているかどうかを確認したいと思います。サーバーへの AJAX 要求を行うために、たとえば 2 ~ 5 分の間隔で setInterval を使用することに不利な点はありますか?

4

2 に答える 2

8

いいえ、デメリットはありません。ただし、タイマーは最も正確ではありません。参照: setInterval はドリフトしますか? これは、急速に開始されるタイマーにとってはより大きな問題であるため、問題にならないかもしれません。さらに、正確なタイミングが問題になるとは思えません。

于 2012-08-13T16:40:40.823 に答える
6

そうすることに問題はありません。間隔 ID を保持せず、多数の間隔を同時に実行する場合 (特に遅延が非常に少ない場合) にのみ、パフォーマンスの問題が発生します。これを防ぐには、新しい間隔を作成する前に現在の間隔をクリアします。これにより、必要な間隔だけがライブであることを確認できます。

clearInterval(intervalID);
intervalID = setInterval(function(){
   ...
}, 100); 
于 2012-08-13T16:45:16.200 に答える