fetch method on collections 采用success 参数:
获取 collection.fetch([options])
[...] options 散列采用 success 和 error 回调,它们将分别作为参数传递 (collection, response, options) 和 (collection, xhr, options) .
success 回调将在集合更新后调用,因此它将在所有"add" 事件被触发和处理后调用。所以你可以这样做:
collection.fetch({
success: function(collection, response, options) {
collection.trigger('fetched_and_notified');
}
});
任何关心的人都可以collection.on('fetched_and_notified', ...) 收听此类事件。如果您愿意,您可以提供自己的 fetch 实现来自动触发此事件,如下所示:
fetch: function(options) {
options = options ? _.clone(options) : { };
var success = options.success;
options.success = function(collection, response, options) {
collection.trigger('fetched_and_notified', collection);
if(success)
success(collection, response, options);
};
Backbone.Collection.prototype.fetch.call(this, options);
}