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

atp*_*atp 0 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);
  }
});
Run Code Online (Sandbox Code Playgroud)

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

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

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

the*_*heo 6

您可以传递{wait: true}给该create方法.

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

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