私は、5 秒ごとに AJAX ソースを介して複数のウィジェット (ダースなど) を更新する必要があるダッシュボード プロジェクトに取り組んでいます。私は現在setTimeout
、ウィジェットが実際に更新されるたびに呼び出されるウィジェットの更新をキューに入れるために使用しています(技術的には再帰ではありませんが…)。これは、コードがどのように見えるかです
var update;
(update = function() {
$.get(source, function() {
// Do something
setTimeout(update, 5000);
});
})();
ページを数時間実行した後 (Chromium 21)、8 GB RAM を簡単に OOM できます。クライアントは非常に小さな構成 (< 1GB RAM) で IE6 を使用するため、この問題はさらに重要です。
どうすればこの癖を回避できますか?