Javascript: Anonyme Funktion, Zugriff auf globale Variablen

8

Nach Stunden der Suche habe ich ein Problem mit meinem Code unten. In der Tat bin ich nicht sehr weit von der Antwort entfernt, denke ich, aber ich bin immer noch blockiert ...

Ich habe eine anonyme Funktion innerhalb einer Schleife aufgerufen und ich möchte auf globale Variablen zugreifen und aktualisieren, aber ich habe versucht mit window.myvariable, mit einer anderen Funktion und nichts passiert ...

das ist mein Code:

%Vor%

Also, wie könnte ich diese anonyme Funktion transformieren, um etwas zu haben, auf das ich von meinem Code aus zugreifen kann?

Vielen Dank, und Entschuldigung für mein Englisch nicht sehr gut ...

    
Viot Camille 03.10.2013, 20:15
quelle

2 Antworten

4

Dies ist Ihr typisches Problem bei der asynchronen Codeausführung. Ihr Beispielcode wird NICHT von oben nach unten ausgeführt. Insbesondere wird Ihre anonyme Funktion NICHT ausgeführt, bis Shapefile mit dem ausgeführt wird, was sie gerade tut. In der Zwischenzeit wird Ihr JS in der Reihenfolge ausgeführt. Daher wird die letzte Zeile des obigen Codes wahrscheinlich vor der anonymen Funktion ausgeführt.

Um dies zu beheben, müssen Sie einen beliebigen Code auslösen, der von der Shapefile -Antwort in seinem Callback abhängt:

%Vor%     
Steve 03.10.2013, 20:42
quelle
2

Versuchen Sie, Ihre Variablen, in diesem Fall polygon_layer, außerhalb der for-Schleife oder der Funktion zu definieren. Siehe das folgende Beispiel:

%Vor%     
Bryan Corey 03.10.2013 20:40
quelle

Tags und Links