Backbone.js在传递错误回调时试图保存?

时间:2012-05-30 23:11:56

标签: backbone.js

我有一个集合:conditions。在视图中,在返回HTTP 403错误响应后,我显然不想创建模型:

var attributes = ...;
conditions.create(attributes, {
  error: function (model, response) {
    conditions.trigger('error');
    var response = JSON.parse(response.responseText);
    console.log(response);
  }
});

正确调用error回调。正确记录响应。但骨干仍然将(破碎)模型添加到集合中!当我查看conditions.toJSON()时,会出现一个包含一些破坏属性的新模型。

我从服务器返回错误,我如何坚持Backbone不将新模型添加到集合中?

我可以在回调中做conditions.remove(model),但是我应该这样做吗?

1 个答案:

答案 0 :(得分:6)

您可以将{wait: true}传递给create方法。

  

创建模型将导致在集合上触发立即"add"事件,并在服务器上成功创建模型后触发"sync"事件。如果您想在将新模型添加到集合之前等待服务器,请传递{wait: true}

http://documentcloud.github.com/backbone/#Collection-create