我想为骨干实现current_user。 我这样做是通过向app.com/current_user.json发送请求
fetch的异步部分似乎不起作用
class App.Models.CurrentUser extends Backbone.Model
url: '/current'
defaults:
"created_at":"never",
"email":"new",
"id": "0",
"updated_at":"always"
current_user:() =>
@fetch(
succes:(response,status) =>
console.log(status)
return status
)
控制台日志打印出我想要返回的内容,但是函数本身会返回一个对象,其中responseText为json,我想从此函数中获取。
答案 0 :(得分:1)
它的原因是它只返回模型和服务器响应。这是来自主干源的部分,用于处理fetch
var success = options.success;
options.success = function(resp, status, xhr) {
if (!model.set(model.parse(resp, xhr), options)) return false;
if (success) success(model, resp);
};
因此,如果您想要返回模型,只需使用传递给成功方法的第一个参数。
current_user:() =>
@fetch(
succes:(model,response) =>
console.log(model)
return model
)
答案 1 :(得分:0)
以下是您可以做的事情:
current_user:() =>
@fetch async: false
@
请注意,这样做会告诉fetch不是异步的。这意味着只有在提取完成后才会处理提取后的所有其他内容。