Sequencing Funktionsaufrufe in Javascript - sind Callbacks der einzige Weg?

8

Ich lese verschiedene Themen wie diese zum Beispiel durch.

Aber es entgeht mir wirklich, wie ich folgendes erreichen kann:

Ich habe 4 Funktionen und möchte, dass sie nacheinander nacheinander ablaufen. Beachten Sie, dass sie in der falschen Reihenfolge sind, um meinen Standpunkt klar zu machen. Ich möchte das Ergebnis, das "1, 2, 3, 4 '

ausgeben wird %Vor%

Ich habe versucht, Callbacks zu finden, aber ich verliere mich: (

Gibt es nicht einen einfachen Weg, dies zu tun? Wie ein Array durchlaufen ...

    
tim 05.09.2012, 03:28
quelle

5 Antworten

15

Es ist eine großartige Chance, jQuery Deferred zu verwenden.

Abgesehen von der Callback-basierten Lösung ist der Code lesbar, flexibel und sehr wartbar

Ссылка

%Vor%

PS: Als Beispiel für asynchronen Code habe ich setTimeout verwendet. Die Hauptsache ist, dass Sie am Ende des asynchronen Teils d.resolve() aufrufen müssen, um die Verkettungsmethoden fortzusetzen.

Weitere Informationen: Ссылка

    
zerkms 05.09.2012, 03:33
quelle
1

Die Idee ist, dass Sie etwas wie das Folgende tun würden, so dass, sobald die erste Funktion ausgeführt wurde, sie wissen würde, was sie ausführen soll, anstatt dass Sie sie außerhalb der Funktion selbst herausfinden müssen:

%Vor%

Siehe auch .apply() und .call() .

    
jeremy 05.09.2012 03:32
quelle
0
___ qstntxt ___

Ich lese verschiedene Themen wie diese zum Beispiel durch.

Aber es entgeht mir wirklich, wie ich folgendes erreichen kann:

Ich habe 4 Funktionen und möchte, dass sie nacheinander nacheinander ablaufen. Beachten Sie, dass sie in der falschen Reihenfolge sind, um meinen Standpunkt klar zu machen. Ich möchte das Ergebnis, das "1, 2, 3, 4 '

ausgeben wird %Vor%

Ich habe versucht, Callbacks zu finden, aber ich verliere mich: (

Gibt es nicht einen einfachen Weg, dies zu tun? Wie ein Array durchlaufen ...

    
___ answer12274135 ___

Die Idee ist, dass Sie etwas wie das Folgende tun würden, so dass, sobald die erste Funktion ausgeführt wurde, sie wissen würde, was sie ausführen soll, anstatt dass Sie sie außerhalb der Funktion selbst herausfinden müssen:

%Vor%

Siehe auch %code% und %code% .

    
___ answer12274144 ___

Es ist eine großartige Chance, jQuery Deferred zu verwenden.

Abgesehen von der Callback-basierten Lösung ist der Code lesbar, flexibel und sehr wartbar

Ссылка

%Vor%

PS: Als Beispiel für asynchronen Code habe ich %code% verwendet. Die Hauptsache ist, dass Sie am Ende des asynchronen Teils %code% aufrufen müssen, um die Verkettungsmethoden fortzusetzen.

Weitere Informationen: Ссылка

    
___ answer39837956 ___

Ich habe mit der Promise, Sequence, Exception, Callback gespielt, um zu verstehen, wie es funktioniert und habe diesen Code schließlich gemacht.

Ruft Funktionen mit Rückruf auf und sendet das Ergebnis als Parameter an eine andere Funktion der Reihe nach und hat einen Fangfehler.

%Vor%     
___ answer12963461 ___

Es ist eine Weile her, und ich habe etwas über %code% in der jquery-Dokumentation bemerkt, speziell die% core_ core API-Funktion.

%Vor%

Codebeispiel aus Ссылка

    
___ tag123javascript ___ JavaScript (nicht zu verwechseln mit Java) ist eine dynamische Sprache mit mehreren Paradigmen auf hoher Ebene, die sowohl für das clientseitige als auch für das serverseitige Scripting verwendet wird. Verwenden Sie dieses Tag für Fragen zu ECMAScript und seinen verschiedenen Dialekten / Implementierungen (außer ActionScript und Google-Apps-Script). ___ tag123sequential ___ hilf uns dieses Wiki zu bearbeiten ___ tag123jquerycallback ___ jQuery ist eine beliebte browserübergreifende JavaScript-Bibliothek, die das DOM-Traversal (Document Object Model), die Ereignisbehandlung, Animationen und AJAX-Interaktionen erleichtert, indem die Diskrepanzen zwischen Browsern minimiert werden. Eine mit jQuery gekennzeichnete Frage sollte mit jQuery in Zusammenhang stehen, daher sollte jquery von dem fraglichen Code verwendet werden, und mindestens eine jquery-nutzungsbezogene Elemente müssen in der Frage enthalten sein. ___ tag123callback ___ Ein Callback ist ein Stück Code (dh die Adresse oder Referenz einer Funktion oder Methode oder eines Lambda-Ausdrucks), die als Argument an anderen Code übergeben wird, von dem erwartet wird, dass er das Argument zu einem geeigneten Zeitpunkt zurückführt (ausführt) Zeit. Dieses Tag sollte bei Fragen zu einer API verwendet werden, die Callbacks verwendet, um den Aufrufer zu benachrichtigen, wenn eine Aktion abgeschlossen ist. Verwenden Sie das Event-Handling-Tag für Fragen zum Abonnieren von Ereignissen, z. B. in einem GUI-Framework. ___ qstnhdr ___ Sequencing Funktionsaufrufe in Javascript - sind Callbacks der einzige Weg? ___
tim 05.09.2012 03:43
quelle
0

Es ist eine Weile her, und ich habe etwas über deferreds in der jquery-Dokumentation bemerkt, speziell die% core_ core API-Funktion.

%Vor%

Codebeispiel aus Ссылка

    
tim 18.10.2012 20:47
quelle
0

Ich habe mit der Promise, Sequence, Exception, Callback gespielt, um zu verstehen, wie es funktioniert und habe diesen Code schließlich gemacht.

Ruft Funktionen mit Rückruf auf und sendet das Ergebnis als Parameter an eine andere Funktion der Reihe nach und hat einen Fangfehler.

%Vor%     
SV0505 03.10.2016 18:18
quelle