Ich habe zwei JavaScript-Funktionen, die von Android aufgerufen werden. Nach langen Debug-Sessions wurde mir klar, dass das Problem auf der Tatsache beruht, dass die zweite Funktion aufgerufen wird, bevor die erste beendet ist. Ich habe bereits die Beispiele mit Deferred usw. durchsucht, aber alle hängen von Funktionsaufrufen innerhalb eines anderen ab.
%Vor%Wie kann ich getResult dazu zwingen, FuncInit zu warten? Gibt es eine Möglichkeit, dies über Javascript zu erreichen?
Meiner Meinung nach ist das Verspätung / Versprechen (wie Sie erwähnt haben) der Weg zu gehen, anstatt Timeouts zu verwenden.
Hier ist ein Beispiel Ich habe gerade geschrieben, um zu demonstrieren, wie Sie es tun können Verwenden von Aufschub / Versprechen.
Nehmen Sie sich etwas Zeit, um mit Deferreds herumzuspielen. Sobald Sie sie wirklich verstehen, wird es sehr einfach, asynchrone Aufgaben durchzuführen.
Hoffe, das hilft!
%Vor%Folgende Antwort kann in dieser und anderen ähnlichen Situationen helfen, wie synchroner AJAX-Anruf -
Arbeiten Beispiel
%Vor%Tags und Links javascript jquery callback jquery-deferred