Einzelnen Beitrag anzeigen
  #2 (permalink)  
Alt 11.06.2018, 22:44
Benutzerbild von protonenbeschleuniger
protonenbeschleuniger protonenbeschleuniger ist offline
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von seerose Beitrag anzeigen
Ich hole mich über AJAX einen String, daraus baue
ich eine Bildgalerie, was eigentlich funktioniert.

in der XMLHttpRequest Routine habe ich meine Galerie Funktion integriert,
also hinter if (xmlHttp.readyState == 4)

ich würde es gerne trennen, so das erst die XMLHttpRequest (get_galerie) Routine aufgerufen wird und dann meine Galerie Funktion
a= get_galerie(id) // holt string über Ajax
galerie(a)

Aber die get_galerie ist schneller fertig als der String geladen wird.
so wird die Galerie kaputt zusammen gebaut.

Gibt es hier eigentlich eine saubere Lösung?
Die Lösung steht doch schon in deinem Code?
Der Aufruf nach dem readyState==4

Das kannst du nicht "trennen" in dem Sinn. Du kannst lediglich (und das ist üblich) einen eigenen Callbackauruf übergeben.

In etwa so:
Code:
function get_galerie(id, cb){
...
		if (xmlHttp.readyState == 4) {
		         cb(xmlHttp.responseText);
		}
...
}
und dann rufst du die ganze Sache so aus:
Code:
get_galerie(id, function(text) { galerie(text)})
Das ist die übliche saubere Lösung.
Mit Zitat antworten
Sponsored Links