当我从服务器获取骨干模型(严格来说是一个集合)时,我正在寻找一种拦截从服务器返回的值的方法,然后在继续之前修改它。我认为我可以做这样的事情
SessionController.prototype._initPages = function() {
return App.pages.fetch({
reset: true,
success: function(model, response, options) {
//modify the contents of response
}
};
我的修改将反映在用于初始化视图的模型中。
然而,我正在寻找骨干源,我想我可能误解了一些东西。
fetch: function(options) {
options = options ? _.clone(options) : {};
if (options.parse === void 0) options.parse = true;
var success = options.success;
var collection = this;
options.success = function(resp) {
var method = options.reset ? 'reset' : 'set';
collection[method](resp, options); //this line updates the model
if (success) success(collection, resp, options); // my success callback
collection.trigger('sync', collection, resp, options);
};
wrapError(this, options);
return this.sync('read', this, options);
}
根据我的需要,似乎需要切换两条注释行,但我认为我只是误解了如何使用此功能。
如何在服务器响应成为我的模型之前修改它?