私はバックボーンが初めてで、いくつかのサンプルアプリを作成して学習しようとしています。1つはサッカーマネージャーゲームです。「start()」と呼ばれる関数を持つ「一致」モデルを作成しようとしています。これは、理論的には 90 までカウントされるタイマーを開始します。これが私のモデルです。
var Match = Backbone.Model.extend({
defaults: function(){
return {
name: "Match One",
};
},
start: function() {
console.log("match started");
this.incrementMinute();
},
incrementMinute: function() {
var min = this;
setTimeout(function(){
min.set('minute', ++min.minute);
if(min.minute % 10 === 0)
min.updateStatus();
min.incrementMinute();
}, 3000);
},
updateStatus: function() {
this.set("detail", "Minute is now: "+this.minute);
},
minute: 0,
detail: "Match is about the kick-off..."
});
と に接続された「変更」リスナーがminute
ありdetail
ます。分または詳細が変更されると、ビューが更新されますが、これは正しく機能しています。しかし、なんらかの理由で、15 分くらいになるとブラウザのタブがクラッシュします。タブ全体が応答しなくなり、最終的にクラッシュします。も使用しようとしましsetInterval
たが、まだ問題が存在します。
ライブバージョンは次の場所にあります。
質問
- なぜこうなった?
- どうすれば修正できますか、またはこれについて他にどのように対処すればよいですか?