Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 在主干中使用延迟的嵌套获取_Backbone.js_Fetch_Jquery Deferred_Backbone.js Collections - Fatal编程技术网

Backbone.js 在主干中使用延迟的嵌套获取

Backbone.js 在主干中使用延迟的嵌套获取,backbone.js,fetch,jquery-deferred,backbone.js-collections,Backbone.js,Fetch,Jquery Deferred,Backbone.js Collections,我试图运行多个回迁来填充作为模型属性的集合。 我收到了我想要获取的所有信息,但一旦我的功能完成,每个组都有相同的成员(最后获取的成员)。 我在代码中放置了两个console.log语句,以确定信息在最后一次出现错误时的正确位置。然而,我不知道我能做些什么来存储写的信息。 var dfr = $.Deferred(); var that = this; that.get('groups').fetch({ data: $.param({ match_id:



我试图运行多个回迁来填充作为模型属性的集合。 我收到了我想要获取的所有信息,但一旦我的功能完成,每个组都有相同的成员(最后获取的成员)。

我在代码中放置了两个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;     

您不应该将
obj
值分配给实际集合吗?您正在循环响应,在响应中有多个对象,在每次迭代中,每个对象执行一些操作,下一个对象再次执行相同的操作,因此当您到达上一个对象时,它覆盖了以前的对象所做的任何事情?如何将模型添加到从ajax调用接收到的集合中?