Wann wartet JavaScript eigentlich?

9

Ich habe diesen Artikel gelesen und mich gefragt, warum in der erstes snippet das seconde wait() wartet auf das erste wait() , um fertig zu werden, während im seconda snippet zwei wait() async laufen?

%Vor%     
Blake 22.11.2016, 07:48
quelle

2 Antworten

7

In Ihrer ersten Funktion:

%Vor%

Du sagst JS, dass er das erste wait abwarten soll, sobald es gestartet wird.
Dies bedeutet, dass der zweite wait(500) nicht starten kann, bevor der erste beendet ist:

  1. Auslöser wait(500) // 1
  2. warte, bis das passiert
  3. Auslöser wait(500) // 2
  4. warte, bis das passiert

In der zweiten Funktion:

%Vor%

Beide Aufrufe von wait werden gestartet , bevor der Code angewiesen wird, auf die Ergebnisse zu warten.

  1. Auslöser wait(500) // 1
  2. Auslöser wait(500) // 2
  3. Warten Sie, bis wait1 übergeben wurde,
  4. Warten Sie, bis wait2 übergeben wurde

Da wait1 und wait2 unmittelbar hintereinander ausgelöst werden, laufen sie praktisch parallel.

Stellen Sie sich folgendes vor:

Wenn 2 Personen gleichzeitig eine Stoppuhr starten, müssen Sie warten, bevor jede Stoppuhr 10 Sekunden erreicht. Sie müssen immer noch nur 10 Sekunden warten.
In der Funktion series hingegen kann die zweite Stoppuhr nicht starten, bevor die erste beendet ist.

    
Cerbrus 22.11.2016, 08:02
quelle
-2

Es hängt von asynchronen Aufgaben ab, wenn zwei Aufgaben abhängig sind, die wir ausführen müssen. I.e. warte bis die erste Aufgabe abgeschlossen ist; Die gleiche Sache passiert im ersten Snippet, deshalb dauert es ungefähr 1000ms, um abzuschließen.

Aber wenn zwei Aufgaben unabhängig sind, können wir sie parallel ausführen und diese Aufgaben vor der abhängigen Aufgabe erwarten. I.e. Im Falle eines zweiten Snippets können wir das Ergebnis beider Aufgaben benötigen und dann diese Ergebnisse manipulieren. Deshalb warten wir vor der Rückkehrerklärung.

Es ist ähnlich wie C # async-erwarten Mechanismus. Als Referenz besuchen Sie bitte Asynchrone Programmierung mit async und erwarten

    
Zeeshan 22.11.2016 08:02
quelle

Tags und Links