Ich muss ein benutzerdefiniertes Objekt zurückgeben, das auf mehrere asynchrone JQuery-AJAX-Aufrufe angewiesen ist.Erstellen eines Objekts mit asynchronen AJAX-Aufrufen
Beispielcode unten:
function BuildMyObject() {
var bp = null;
var accountId = getAccountId();
var signature = getSignature();
var transactionType = getTransactionType();
var mode = getMode();
var merchantIdentifier = getMerchantIdentifier();
jQuery.when(accountId, signature, transactionType, mode, merchantIdentifier).done(function(rAcctId,
rSig,
rTransType,
rMode,
rMerchId) {
bp = new MyObject(
rAcctId[0],
rSig[0],
rTransType[0],
rMode[0],
rMerchId[0]);
});
return bp;
}
Nun, dies gibt null; wie die return-Anweisung ausgelöst wird, bevor die asynchronen Aufrufe beendet werden. Gibt es eine Möglichkeit zu warten, bis alle Anrufe beendet sind, bevor das Objekt zurückgegeben wird? Wenn ich die Ajax-Aufrufe auf synchronisiere, funktioniert es; aber ich möchte das vermeiden.
einfach 'Rückkehr jQuery.when (..)' –