Klar, weil das asynchron losrennt 😉
Das ist korrekt.
Synchron machen.
Das ist der falsche Ansatz. Damit lässt sich die Seite nicht mehr bedienen, bis die Ajax-Anfrage beendet ist, falls sie je beendet wird. Eine Lösung wäre die asynchronen Aufrufe so zu sortieren, dass sie in der richtigen Reihenfolge ausgeführt werden. dedlfix hat den entscheidenden Hinweis bereits gegeben.