dedlfix: Auf XMLHTTPRequest-Antwort warten, ohne neue Funktion aufzurufen

Beitrag lesen

Hi!

Die response, empfangen vom XHR-Object, wird in einer Funktion verarbeitet, die i.A. als callbackfunktion bezeichnet wird. D.h., Du übergibst die response grundsätzlich an die callbackfunktion [...]

Nein, das ist nicht grundsätzlich so, denn es gibt ja die synchrone Arbeitsweise, die ohne Callbackfunktionsaufrufe auskommt, weil sie eben auf die Reponse wartet - aber eben den Browser blockiert.

Ich will wissen, ob ich das asynchrone Verhalten von JavaScript "umgehen" kann.
Asynchron ist relativ zum Browser: Ein ajax-Request geht nach dem Laden einer Seite raus, wenn das DOM und die zum ajax notwendigen Funktione geladen wurden (vorher geht ja nicht). Die ajax Response kommt damit immer später als die dem ajax Request vorausgegangene Response zum Aufbau der Seite. Ansonsten macht Dein xhr-Objekt genau dasselbe auch, was ein Browser macht.

Als Antwort wäre ein "Nein" richtig und im Prinzip ausreichend gewesen. Was versuchst du hier mit dem Laden des DOM zu erklären? Der Punkt ist doch bei c-- schon längst Geschichte und nicht relevant. Er weiß grundsätzlich, wie er an die Stelle kommt, an der der Ajax-Request abgesetzt werden kann. Dass Code nicht ausgeführt werden kann, bevor er geladen wurde, ist logisch. Zum Ausführen von JS-Code muss aber nicht der gesamte Seitenaufbau fertig sein, lediglich der JS-Code muss bereits im Browser sein. Und der letzte Satz ist so wie er da steht unsinnig. Abgesehen von dem reinen Request-Response-Handling machen beide eine ganze Menge auf nicht dieselbe Weise.

Ach Hotti, es ist ja löblich, wenn du versuchst dein Wissen weiterzugeben, aber zu oft kommt da einfach nur Kauderwelsch dabei raus.

Lo!