我正在尝试使用以下内容构建Backbone的sync
的自定义替换:
function getStuff(){
return {"id":"1","name":"Joe"};
}
然后对于Backbone.sync
我有:
Backbone.sync = function(method, model, options) {
switch(method){
case 'read':
getStuff();
break;
...More cases...
我查看了几篇关于替换同步的帖子,我知道我需要使用options
来处理返回,但我似乎无法让它工作。
答案 0 :(得分:5)
Fetches通常是异步的,因此您应该将您的响应返回到options.success函数:
sync : function(method, model, options) {
if (method == 'read') {
var yourResponse = getStuff();
options.success && options.success(yourResponse);
}
}
Backbone使用options.success函数将响应应用到Model上。您还可以提供自己的options.success功能:
yourModel.fetch({
success : function(response) {
// use response
}
});
请注意,Backbone现在将运行您的自定义成功函数,然后运行自己的函数。