Asynchroner JavaScript-Rückgabewert mit jQuery
Frage:
Wie können wir zuverlässig auf die zugreifen Von einer asynchronen jQuery-Funktion zurückgegebener GUID-Wert?
Antwort:
Asynchrone Aufrufe können naturgemäß keinen Rückgabewert liefern. Die asynchronen Funktionen von jQuery kehren sofort zurück, was bedeutet, dass der von ihnen erzeugte Wert nicht verfügbar ist, wenn die Funktion zurückkehrt.
Lösung:
Es gibt zwei Hauptansätze, um diese Herausforderung zu bewältigen:
1. Rückruffunktionen:
Dazu gehört die Übergabe einer Rückruffunktion an die asynchrone Funktion, die das Ergebnis erhält, sobald es verfügbar ist.
<code class="javascript">function trackPage() { var elqTracker = new jQuery.elq(459); elqTracker.pageTrack({ success: function() { elqTracker.getGUID(function(guid) { // Handle the GUID here alert(guid); }); } }); }</code>
2. Versprechen:
Mit den verzögerten Objekten (Versprechen) von jQuery können Sie asynchrone Logik erstellen, die ein Versprechen zurückgibt. An diese Versprechen können Rückrufe angehängt werden, um das Ergebnis zu erhalten, sobald es verfügbar ist.
<code class="javascript">function trackPage() { var elqTracker = new jQuery.elq(459); var dfd = $.Deferred(); elqTracker.pageTrack({ success: function() { elqTracker.getGUID(function(guid) { dfd.resolve(guid); }); } }); return dfd.promise(); } // Usage: trackPage().done(function(guid) { alert("Got GUID: " + guid); });</code>
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonWie kann ich mit jQuery zuverlässig auf asynchrone Rückgabewerte zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!