在下面的代碼,我檢索使用$.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
};
大部分工作正常。但是,我想將數據返回給調用模塊,但是在數據準備好之前它會返回,因爲我認爲您會期望。
達到此目的的最佳方法是什麼?
感謝
戴維
的'$。當()'表達沒有意義。它有一個論點,後面跟着一個','。你確定括號'()'在正確的位置關閉嗎? –
謝謝,我認爲文檔說你可以在$ .when中傳遞多個函數 - 基本上在執行$ .then中的第三項之前執行它們。 – davy