frederikring: Eine Funktion überholt die Nächste?

Beitrag lesen

Hallo!

Ich habe eine Javascript-Funktion (A), die wiederum eine andere Javascript-Funktion (B) benutzt.

In der Funktion A wird die Funktion B nun mehrmals hintereinander ausgeführt. In jedem Durchlauf von Funktion B wird eine (globale) Variable verändert die für die nächste Ausführung von Funktion B wichtig ist.

Eigentlich sollte das ja kein Problem sein, allerdings ist Funktion B sehr schwerfällig da sie Daten über eine API von einem anderem Server abruft. Es sieht für mich aber so aus als ob die Funktion A die Bs eins nach dem anderem aufruft ohne daß die vorhergehenden Bs schon abgeschlossen ist. Zumindest lässt mich das das loggen der Variable inner- und ausserhalb der Funktion B vermuten.

Kann so etws überhaupt sein? Und wenn ja, wie kann ich das Script dazu bringen erst fortzufahren, wenn die vorhergehende Funktion gänzlich abgeschlossen ist?

Im Prinzip läuft das so:

function B(){
....
console.log('inner'+variable);
....
}

function A(){
...
B();
console.log('outer'+variable);
B();
console.log('outer'+variable);
B();
console.log('outer'+variable);
...
}

In der Konsole stehen jetzt aber zuerst alle outer-Werte und dann alle inner-Werte.

Irgendeine Idee, oder mache ich gerade einen Denkfehler?

Vielen Dank!