在以下代码中,我正在使用$.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
};
其中大部分工作正常。但是,我想将数据返回给调用模块,但它会在数据准备好之前返回,正如我想你所期望的那样。
实现这一目标的最佳方法是什么?
谢谢
戴维