我現在正在jQuery中進行同步AJAX調用。是否有任何方法讓父函數在保持異步調用的同時返回Ajax響應。我能找到的唯一解決方案是使用回撥功能。我不想寫一個回調函數,因爲我打算把這個對象放在一個變量中。jQuery延遲Ajax調用和返回Ajax響應
例如
var ajax = serviceinterface.rawServiceCall(「http://user.myservice.com/endpoint」, 「post」, {name : 「xyz」});
我可能還需要使用這樣的
$.when(serviceinterface.rawServiceCall(endpoint1, 「get」), serviceinterface.rawSCACall(endpoint2, ‘get’)).done(function(){
// do something here
});
這裏是我的功能碼,同步調用工作絕對沒問題,但我想打一個異步調用。
rawServiceCall : function(endpoint, type, payload) {
type = typeof type !== 'undefined' ? type : "get";
payload = typeof type !== 'undefined' ? payload : null;
return $.ajax({
url : endpoint,
type : type,
data : payload,
async : false,
dataType : 'json',
headers: {
accept : "application/json"
},
success : function(data){
return data;
}
});
}
P.S-我不想浪費CPU週期或保持網頁的其他部分等待這首先加載。或者有什麼更好的方法呢?