Wie man mit asynchronen Rückruffunktionen in JavaScript umgeht
Asynchrone Rückrufe, wie sie beispielsweise in der Funktion geocoder.geocode verwendet werden, können es schaffen Es ist schwierig, Werte aus ihnen abzurufen. Dieses Problem wird im Titel „Wie gebe ich einen Wert von einer asynchronen Rückruffunktion zurück?“ hervorgehoben.
Grundlegendes zu asynchronen Rückrufen
Asynchrone Rückrufe sind Funktionen, die nach einiger Zeit ausgeführt werden unbestimmte Zeit. Sie werden normalerweise verwendet, wenn Vorgänge ausgeführt werden, die nicht sofort abgeschlossen werden können, beispielsweise das Senden von Netzwerkanfragen. Aufgrund ihrer asynchronen Natur können sie nicht zur direkten Rückgabe von Werten verwendet werden.
Lösung: Verwenden eines Rückrufs
Um Werte aus asynchronen Rückrufen abzurufen, besteht ein alternativer Ansatz darin Übergeben Sie eine Rückruffunktion an die asynchrone Funktion. Diese Rückruffunktion wird ausgeführt, sobald der asynchrone Vorgang abgeschlossen ist, und erhält den gewünschten Wert als Parameter.
Beispiel:
Im bereitgestellten Skript der folgende Code kann verwendet werden, um den gewünschten Wert aus geocoder.geocode abzurufen Funktion:
function foo(address, callback) { geocoder.geocode({ 'address': address }, function (results, status) { callback(results[0].geometry.location); }); } foo("address", function (location) { alert(location); // This is where you receive the value });
Hinweis:
Es ist wichtig zu beachten, dass diese Lösung nur mit asynchronen Rückruffunktionen funktioniert. Bei synchronen Funktionen können Werte direkt zurückgegeben werden.
Das obige ist der detaillierte Inhalt vonWie erhalte ich Werte aus asynchronen Rückruffunktionen in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!