我正在使用jQuery $.when
函數來同步我擁有的兩個$.getJSON
異步調用。合併來自兩個調用的數據現在工作正常,但是我想返回合併的內容,這是一個jQuery對象數組。
我試圖實現這個使用$.when
函數包裹另一個函數,其中包含代碼,我同步我的異步調用。我的代碼如下所示:
$.fn.getResultFromMergedJsonCalls = function(params){
$.when(
$.fn.jsonCall1(params), $.fn.jsonCAll2(params)
).then(function(){
var mergedData = mergeResults(resultOfJsonCAll1,resultOfJsonCAll2)
return mergedData;
});
};
)
我怎樣才能在mergedData
數組的內容返回到調用函數,我知道異步調用的性質是造成這種行爲,所以我只需要的是解決問題的模式。謝謝。
你不能。它是異步的。你必須在你傳遞給`.then`的回調中處理結果,或者將它傳遞給在回調中調用的函數。 – 2011-12-16 14:32:01