我正在尋找一種方法來使這組AJAX調用更清潔。我嘗試過使用$.when()
...但我無法真正實現它的功能。我認爲這是因爲沒有傳遞延遲對象......因爲我的AJAX調用是在模型對象的內部。無論如何,使這個嵌套的回調更清潔?
這是我迄今(一些代碼被排除簡單):
var origin_form, destination_form; //assume string input from user
var destination, origin;
getOrigin();
//Gets origin data
function getOrigin(){
//ASYNC CALL
model.searchFeature(origin_form, 1, function(data){
//additional callback code excluded
origin = data;
getDestination();
});
}
//Gets destination information
function getDestination(){
//ASYNC CALL
model.searchFeature(destination_form, 1, function(data){
//additional callback code excluded
destination = data;
directions(origin, destination);
});
}
function directions(origin, destination){
//Async call to request directions from google api
}
任何意見將是巨大的!
編輯:我正在尋找一些類似於$.when()
的解決方案。基本上,我想在getOrigin()
和getDestination()
都沒有嵌套回調後完成調用directions()
。
我承擔這些功能一個你的意思是'起源= data',而不是'目的地= data' *(可能是第一個)*。 –
@ user1689607是的,這是正確的。我做了編輯。 – Bri
讓AJAX調用更清爽:COMET和SOAP! *傷心欲絕* - 抱歉,無法抗拒。 :) – deceze