Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Variable aus Funktion zurückerhalten
#1
Hallo liebe Leute,

für einige ist diese Aufgabe vielleicht ganz einfach (für mich leider nicht).

Ich nutze eine API, um verschiedene Koordinatensystemsyteme umzuwandeln.

Code:
    require([
          "esri/geometry/projection"
], function(projection) { ....

Zwingend muss die Funktion über ein load().then... aufgerufen werden:
Code:
projection.load().then(function() {
var punkt2=projection.project(punkt1, cs2);
alert ("In Function: "+punkt2.x);
});

alert ("Ausserhalb Function: "+punkt2.x);

Innerhalb dieser Funktion erhalte ich auch die völlig korrekten Koordinaten (hier: punkt2.x). Jedoch: Wie kann ich auf die Variable "punkt2" ausserhalb dieser Funktion zugreifen?
alert ("Ausserhalb Function: "+punkt2.x);  sagt mir, dass die Variable nicht existiert.

Irgendwie stehe ich da völlig auf dem Schlauch. Kann mir da jemand einen Tipp geben?
Danke im voraus :-)
Zitieren
#2
Hallo und willkommen im Forum!

Zitat:Wie kann ich auf die Variable "punkt2" ausserhalb dieser Funktion zugreifen?
Kurze Antwort: Leider gar nicht. Der Zugriff auf diese API erfolgt asynchron, d. h. zunächst wird eine Anfrage abgeschickt und einen Moment später kommt die Antwort darauf mit den Daten, die Du brauchst. Versuchst Du, direkt nach dem Aufruf dieses load auf diese Daten zuzugreifen, ist die Antwort noch nicht da.
Du kommst nicht daran vorbei, den Code, der die Daten braucht, in dieser then-Funktion unterzubringen.
Eine andere Variante der Notation ist async-await aber auch da führt kein Weg daran vorbei, das ganze in einer Funktion unterzubringen.
Glaube denen, die die Wahrheit suchen, und zweifle an denen, die sie gefunden haben.
(Andrι Gide (1869-1951), frz. Schriftst., 1947 Nobelpreis)
Zitieren
#3
Alles klar, vielen lieben Dank :-)
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste