この一連の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()
、ネストされたコールバックなしで実行されます。