easyXDM を使用してバックボーン モデルのフェッチ関数をオーバーライドしようとしています。easyXDM を使用する理由は、サーバーが別のドメインにあるためです。
フェッチコードは次のとおりです。
fetch: function(options)
{
model = this;
a = true;
this.xhr.request({
url: "http://server.dev:9000/users/" + this.id,
method: "GET"
}, function(response){
console.log(response.data);
var jsonResponse = JSON.parse(response.data);
if (jsonResponse.status == 'success'){
model.set({
firstName : jsonResponse.data.first_name,
lastName : jsonResponse.data.last_name,
email : jsonResponse.data.email,
companyName : jsonResponse.data.company.name,
companyId : jsonResponse.data.company.id
})
}
});
}
モデルを取得するコントローラーのコードは次のとおりです。
var user = new UserModel({id : id});
user.fetch();
alert(user.get('firstName')); // display undefined
したがって、問題は、フェッチを呼び出すたびに、モデルがまだ入力されていないことです。easyXDM リクエストは非同期であるため、まだ入力されていないため、考えています。モデルが作成され、使用できるようになっていることを確認する方法はありますか? おそらくコールバックを使用して、コールバックを作成する方法について何か指示はありますか?