私のプラグインでは、次の応答が以前のものに依存するため、順番にajax呼び出しと応答を行いたいと思います。 残念ながら、応答は呼び出し順序と一致しません(私はasyncを使用したくありません:false)ので、このことを処理する必要があります。Jquery ajaxが順番に応答を行います
var array = ['a', 'b', 'c', ...]; <- dynamic values
var params = ['foo', 'bar', 'doe', ...]; <- dynamic values
var postData = {};
$.each (array, function (idx, val) {
postData.value = val;
var param = params[idx];
ajaxRequest(param, callback);
});
var ajaxRequest = function (param, callback) {
$.ajax ({
url: url,
data: postData,
type: "POST"
}).done (function (data) {
//a returned data in 5 sec
//b returned data in 3 sec
//c returned data in 1 sec
});
}
私はAjaxの約束についてのいくつかのものを読んで、延期が、私はIFを知らないとどのようにそれは私がこれを行うことができますどのように私のシナリオ
のための正しい解決策になることができていますか?
お返事ありがとうございますが、問題は各ループからajaxrequestを呼び出してコードを処理する方法です。私が省略したパラメータとコールバックは、私のコードでは重要です。 –
このロジックは各ループと同等です。本質的に、 "ajaxRequest()"への各呼び出しは "ループ"の1回の反復に相当し、カウンタ(arrIndex)は毎回手動でインクリメントされます。私はあなたが見ているように "params"オブジェクトを保持していますので、自分でそれをどうする必要があれば追加することができますが、私はそれがどのように定義されていないか、それをどのように/どこに含めるべきかを知ることは困難でした。あなた自身で戻すこともできますし、もっと説明することで、論理的にこれを試すこともできます。 – ADyson
私はその論理を理解しています。この方法でプラグインを処理する方法を変更する方法を調べる必要があります。コールバックは、完了要求を定義する必要があります。この場合、約束して延期することはできません。ありがとう –