warten, bis asynchrone javascript-Funktion, um zurückzukehren
Ich bin eine Funktion verwenden, die von Dritten gelieferten Bibliothek. Diese Funktion nimmt eine callback-Funktion als parameter, aber ich würde gerne warten, bis diese callback aufgerufen werden, bevor Sie fortfahren. Gibt es ein standard /akzeptierte Weg, dies zu tun?
- nur umarmen ungleichzeitigkeiten. versuchen Sie nicht, Sie zu bekämpfen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin nicht sicher, ob dies eine mögliche Lösung für Sie, aber Sie können das gewünschte Ergebnis erzielen, brechen Sie den code in 2 Funktionen.
Vermute, das ist, was Sie zu tun beabsichtigen:
Im Grunde ist dies Ihre ursprüngliche Funktion:
Können Sie ändern Sie den code flow mit so etwas wie:
Dadurch wird verhindert, dass die Schleife warten. Und soweit ich weiß, busy waiting funktioniert nicht im IE (wegen ? Das weiß nur Gott)..
Hier ist eine andere Methode der laden der jQuery asynchron, die nicht abhängig von einem anderen Skript.
Ich weiß nicht, ob Sharad ' s Lösung funktioniert in allen Fällen (zum Beispiel, wenn Sie Funktion Anrufe so weit gefesselt, dass Sie das zum übergeben von Daten als Variablen statt Parameter). Gleiche problem mit globalen Variablen. JavaScript einfach nicht eine "warten" - Fähigkeit.
Obwohl ich hatte ein ähnliches problem und mit jQuery, landete ich mit einem MacGyver-Art-Lösung, die Ihnen Tonnen von Kontrolle, wenn javascript-Funktionen auszuführen. Ich habe gerade gebucht und es hier als Antwort auf meine eigene Frage (aber ich es ist eine Antwort, die nicht geprüft - look für meinen Benutzernamen Emile): Wie man eine variable zurückgegeben, die über mehrere Funktionen - Javascript/jQuery