Backbone Collection与您在其上执行.fetch()
时创建的XHR对象之间是否存在关联?
我想做这样的事情:
collection = new Backbone.Collection;
xhrObj = collection.fetch();
xhrObj.parent == collection; //true
更大的目标是让我查看是否有特定集合的待处理.fetch()
。如果在Backbone中有另一种方法可以做到这一点,请告诉我。我想我会存储XHR对象并检查是否有任何未完成的对象与该集合相关联。
答案 0 :(得分:0)
你可以这样做:
var fetch = Backbone.Collection.prototype.fetch;
Backbone.Collection.prototype.fetch = function (options) {
options = options ? _.clone(options) : {};
var success = options.success;
options.success = function (collection, resp, options) {
collection.xhrObj = resp;
if (success) success(collection, resp, options);
};
var error = options.error;
options.error = function (collection, resp, options) {
collection.xhrObj = void 0; // or whatever you want
if (error) error(collection, resp, options);
};
fetch.call(this, options);
};
之后,如果获取调用成功,您可以在集合中找到服务器响应。