dedlfix: jQuery get() - Variablen innerhalb von get() auch außerhalb nutzen

Beitrag lesen

Tach!

die Frage ist doch, ob man unbedingt was Globales braucht. Jede globale Variable ist erstmal ungünstig. Und eine Ablage in einer globalen Variablen kann die 2. Funktion immer noch ausführen.

Globale Variablen sind nicht per se ungünstig. Man vermeidet sie der möglichen Konflikte wegen, wenn sie in andere Bibliotheken gleichnamig definiert wurden. Da aber die meisten aktuellen Bibliotheken nicht im globalen Raum rumfuhrwerken, ist man da letztlich doch recht frei. Wie auch immer, ... Fortsetzung weiter unter.

Die Promise-Kettung sorgt dafür, dass die Verwendung der x-y Werte erst erfolgt nachdem die Rückgabe von get verarbeitet wurde.

Solange man die Kontrolle über den Ablauf hat, ist das alles kein Problem. Aber üblicherweise möchte man die wieder abgeben und erst beim nächsten userveranlassten Event wieder aufnehmen. Dann ist man aber nicht mehr in dem Kontext, in dem das Zeug liegt, das man mit dem get()/fetch/wasauchimmer holte. Deswegen ist wohl der Wunsch entstanden, die Werte global abzulegen.

(Fortsetzung von oben)
Global (im Sinne von Eigenschaft im window-Objekt anlegen) kann man meiden, wenn man eine IIFE anlegt, in der aller eigener Code steht. Das Problem ist aber nicht der Ort des Ablegens, sondern dass man den Zugriff auf die einmal geholten Dinge haben möchte und die dafür irgendwo global oder "global" im eigenen Scope liegen müssen. Und da macht immer noch die Asynchronität Probleme, solange man nicht kontrollieren kann, dass Zugriffe darauf entweder warten oder garantiert erst nach Eintreffen der Daten stattfinden.

dedlfix.