0

私はバックボーンが初めてで、いくつかのサンプルアプリを作成して学習しようとしています。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たが、まだ問題が存在します。

ライブバージョンは次の場所にあります。

http://bit.ly/188TtWa

質問

  1. なぜこうなった?
  2. どうすれば修正できますか、またはこれについて他にどのように対処すればよいですか?
4

1 に答える 1