2013-08-02 37 views
2

我想单独更新一个帖子的集合,并且在每个请求完成后再重新呈现我的集合。主干集合:_.after在异步请求之后不会调用

目前低于从不代码触发renderPosts,我不知道为什么

onClickCopyPosts: function(posts, publish_target) { 

     var self = this; 

     var renderPosts = _.after(posts.length, function() { 
      console.log('got here'); 
      self.collection.fetch({reset: true}); 
     }); 

     _.each(posts, function(post) { 
      post = new PostModel(post); 
      post.set('id', null); 
      post.set('publish_target', publish_target); 
      post.save({success: renderPosts}); 
     }); 
    }, 

回答

2

保存的签名是model.save([attrs], [options])。而success处理器是一个不错的选择。

因此,当您将签名定义为post.save({success: renderPosts});时,成功处理程序会被传递到不执行任何操作的属性中。

它更改为

post.save({}, {success: renderPosts});

post.save(null, {success: renderPosts});

跑过选项作为第二个参数。