我正在寻找一种方法来使这组 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()
. 基本上,我想directions()
在两者之后调用,getOrigin()
并且getDestination()
在没有嵌套回调的情况下完成。