0



モデルのプロパティであるコレクションを設定するために、複数のフェッチを実行しようとしています。取得したいすべての情報を受け取りますが、関数が完了するとすぐに、すべてのグループに同じメンバー (最後にフェッチされたメンバー) が含まれます。

コードに 2 つの console.log ステートメントを配置して、情報が正しい場所と間違っている場所を確認しました。それにもかかわらず、情報書き込みを保存するために何ができるかわかりません。

    var dfr = $.Deferred();
    var that = this;
    that.get('groups').fetch({
        data: $.param({ match_id: that.get('match_id')}),
        success: function(response) {
            response.each(function(obj, i) {
                 $deferreds[i] = $.Deferred();

                 obj.loadMembers(loadRatings).done(function(){
                    $deferreds[i].resolve();
                     console.log(obj.get("group_members")) // HERE ALL GROUPS ARE RIGHT
                });
            });

            $.when.apply(null,$deferreds).then(function(){
                console.log(that.get("groups")) // HERE ALL GROUPS HAVE THE SAME MEMBERS
                dfr.resolve();
            });
        },
        error: function (model, response) {
          dfr.fail("could not load users");
        }
    })
    return dfr;     
4

0 に答える 0