Javascript-Funktion warten, bis eine andere Funktion zu beenden

8

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?

    
tugce 09.07.2014, 14:03
quelle

3 Antworten

27

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%     
Antoine Cloutier 09.07.2014, 18:06
quelle
4

Es gibt verschiedene Möglichkeiten, dies zu tun.

Verwenden Sie einen Rückruf:

%Vor%

Verwenden Sie ein Timeout (das wäre wahrscheinlich meine Präferenz):

%Vor%

Warten Sie auf die Initialisierung:

%Vor%     
Nicholas 09.07.2014 16:14
quelle
1

Folgende Antwort kann in dieser und anderen ähnlichen Situationen helfen, wie synchroner AJAX-Anruf -

Arbeiten Beispiel

%Vor%     
Sujit Kumar Singh 01.08.2017 11:06
quelle