バックグラウンド
5 月に、メモリ保持の問題に関する WebKit の問題を報告しました。問題は Web Inspector 自体に起因する可能性があるように見えますが、まだ確信が持てません。
問題
私の JavaScript アプリケーションが、利用可能になったデータを取得するための「 Polling Consumer 」パターンを実装するという問題が表面化しました。問題は、記憶が保持され、1 日を通して増加することです。JavaScript ロジックは次のようになります。
- データを取得して折り返し電話する
- コールバックされたら、データを処理してからステップ 1 を実行します
これは JavaScript でポーリング コンシューマを実装する合理的な方法ですか? ちなみに、私はjQueryのajax関数を使用していますが、もちろんそれ自体に問題がある可能性があります。さらに、成功ハンドラーとしてjQueryプロキシを使用しているため、スコープによる保持は問題にならないと考えていました。また、プロキシを使用せずに問題を観察しました。いくつかのコード:
FidsDataController.prototype.getFids = function() {
var self = this;
$.ajax({
...
success: function(data) {
// Do some processing
// Call back in a short while...
setTimeout($.proxy(self.getFids, self), 100);
},
...
});
);