次のコードでは、$.getJSON
(リポジトリから返された)を使用してデータを取得しています$.when
が、最後の呼び出しは最初の呼び出しに依存しているためです。
var getData =
function () {
var data = { userData: null, userTitles: null, userPage: null };
$.when(repository.getUserDetails().done(f1)),
repository.getUserPolicyTitles().done(f2)
.then(repository.getUserPage().done(f3));
function f1(userData) { data.userData = userData; console.log(data.userData) };
function f2(userTitles) { data.userTitles = userTitles; console.log(data.userTitles) };
function f3(userPage) { data.userPage = userPage; console.log(data.userPage) };
return data;
}
return {
getData: getData
};
これのほとんどはうまくいきます。ただし、データを呼び出し元のモジュールに戻したいのですが、予想どおり、データの準備が整う前にデータが返されます。
これを達成するための最良の方法は何ですか?
ありがとう
デイビー