我有一个集合: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)
,但是我应该这样做吗?
答案 0 :(得分:6)
您可以将{wait: true}
传递给create
方法。
创建模型将导致在集合上触发立即
"add"
事件,并在服务器上成功创建模型后触发"sync"
事件。如果您想在将新模型添加到集合之前等待服务器,请传递{wait: true}
。