繁体   English   中英

Backbone.js“错误”事件:我如何知道哪个方法(获取,保存,删除)触发了它?

[英]Backbone.js 'error' event: how do I know which method (fetch, save, delete) triggered it?

只要响应不是200状态代码,骨干sync就会在模型/集合上触发error事件。 为了实现默认的错误处理机制,我在视图中侦听error事件。 这行得通,但我希望能够区分保存( save ),删除( delete )和检索( fetch )错误。

简而言之,这就是我想要的:

var MyView = Backbone.View.extend({
  initialize: function(options){
    this.listenTo(this.model, 'error', this.errorHandler);
  },
  errorHandler: function(model, xhr, options){
    // logic would depend on whether the event was triggered by fetch, 
    // save, or delete
    // How can I tell how the event was triggered? 
  }  
});

骨干网给我提供了一种方法吗? jqXHR是否对象? 在这里寻找选项。

我知道我可以(有些人应该说)在选项中使用错误回调来获取信息,等等。但是我不想修改很多现有代码来创建默认行为。

我是否需要重写基本模型中的获取,保存和删除以对事件进行命名空间,或者是否已内置事件?

谢谢

Backbones错误事件的回调具有3个参数:model,xhr和options(按此顺序)。

options对象指的是用于触发(失败的请求的选项。因此,在其中,您应该能够看到使用了哪种HTTP方法(我认为ti称为“类型”?),statusCode甚至是URL它试图将请求发送给。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM