So warten Sie, bis das Versprechen abgeschlossen ist, bevor die Funktion zurückkehrt

8

Grundlegende Versprechen Frage:

%Vor%

Die Codeausgabe ist:

%Vor%

Wie schreiben Sie den Code neu, so dass die Ausgabe ist:

%Vor%     
S. Vaghar 09.03.2017, 01:54
quelle

4 Antworten

3

Alles was nach der Fertigstellung passieren soll, geht in die Pfeilfunktion, an die Sie dann weiterreichen.

%Vor%

Um die sofortige Programmausführung aufzugeben und Code zu schreiben, der erst nach dem Lösen aller 3 Versprechen passieren würde, würde ich empfehlen, eine neue Funktion direkt unterhalb Ihres Codes zu erstellen, um Code zu enthalten was du gerne nach der Auflösung machen würdest und übergebe diese Funktion wie folgt: Promise.all([p1, p2, p3]).then(newFunctionName) . Es könnte für Sie einfacher sein, es so zu visualisieren, bis Sie sich daran gewöhnt haben, genau darüber nachzudenken, wie es genau funktioniert.

    
Kent Weigel 09.03.2017 02:02
quelle
2

Fixiere zuerst den Syntaxfehler. Verschieben Sie dann die Datei console.log dorthin, wo der gesamte Prozess endet:

%Vor%
    
rasmeister 09.03.2017 02:01
quelle
1

Wenn die offensichtliche Antwort der Platzierung der console.log('Promise END') Ihr Boot nicht schwimmt, warum nicht?

%Vor%

Wenn Sie eine Operation sequenzieren möchten, nachdem alle Versprechen erfüllt wurden, müssen Sie wie beim Drucken der Array-Werte mit then() fortfahren

    
JSelser 09.03.2017 02:02
quelle
0

Verwenden Sie async / await :

%Vor%
    
jib 10.03.2017 04:47
quelle

Tags und Links