如何使用Backbone的Fetch()进行AJAX请求时访问XHR对象?

时间:2012-02-20 05:58:11

标签: javascript backbone.js xmlhttprequest backbone-events jqxhr

在骨干应用中,当用户采取某项行动时,我正在与fetch进行通话:

 changeDay: function() {
  this.collection.fetch({
    success: function() {
      lr.primaryView.addAllEvents();
    }
  });
 },
 ...

有时,用户会在第一个请求成功响应之前再次执行调用此changeDay方法的操作。在这些情况下,我想取消之前的请求。我熟悉如何使用vanilla jQuery(概述here),但由于XHR对象隐藏在fetch后面,因此我无法在此处轻松使用该方法。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

Backbone.fetch实际上返回了jQuery XHR对象:

 changeDay: function() {
  thisXHR = this.collection.fetch({
    success: function() {
      lr.primaryView.addAllEvents();
    }
  });
 },
 ...