1

骨干集合和执行 a 时创建的 XHR 对象之间是否存在关联.fetch()

我想做这样的事情:

collection = new Backbone.Collection;
xhrObj = collection.fetch();
xhrObj.parent == collection; //true

.fetch()更大的目标是让我检查特定集合是否有任何未决的。如果在 Backbone 中有其他方法可以做到这一点,请告诉我。我想我会只存储 XHR 对象并检查是否有任何尚未完成的对象与集合相关联。

4

1 回答 1

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);
};

之后,如果 fetch 调用成功,您可以在您的集合中找到服务器响应。

于 2014-02-21T15:30:09.577 回答