Meine Frage ist, gibt es eine Möglichkeit, Timeout für jeden parallelen Ajax-Post zu definieren, wenn wir jquery Schnittstelle verwendet haben. Z.B.Ajax parallel post: Definieren Timeout für jede Anfrage und erhalten nur
parallelPost: function(toUrl1, toUrl2, theData1, theData2, contentType, dataType, successHandler, errorHandelr, completeHandler) {
$.when($.ajax(this.createAjaxCall(toUrl1, theData1, true, headers, 'POST', contentType, dataType,1000)),
$.ajax(this.createAjaxCall(toUrl2, theData2, true, headers, 'POST', contentType, dataType,2000))).done(function(res1, res2) {
successHandler(res1, res2);
}, errorHandelr, completeHandler);
},
createAjaxCall: function(toUrl, theData, isAsync, headers, verb, contentType, dataType, timeout, successHandler, errorHandelr, completeHandler) {
return {
url: toUrl,
cache: false,
type: verb,
data: theData,
dataType: dataType,
timeout: timeout || 0,
async: isAsync,
headers: headers,
contentType: contentType ? contentType : 'application/x-www-form-urlencoded',
success: successHandler,
error: errorHandelr,
complete: completeHandler
};
}
Die Timeouts für jeden parallelen Beiträge wurden 1000 und 2000. Mein Ziel definiert diese Antworten zu erhalten, die in definierten Timeouts gelungen waren. Wenn also die erste Anfrage zeitlich geortet wurde und die zweite nicht, geben Sie nur die zweite Antwort zurück.
Über jQuery Schnittstelle deaktiviert, wenn mindestens eine zeit-geoutet Fail Callback aufgerufen wird.
Gibt es eine Möglichkeit ein solches Verhalten zu definieren, oder kann eine andere Schnittstelle sein, die Lösung bieten