Wie Sie auf Versprechen warten, um in JavaScript gelöst zu werden

Wie Sie auf Versprechen warten, um in JavaScript gelöst zu werden

Versprechen sind weit verbreitete Funktionen in der JavaScript -Programmiersprache. Versprechen spielen eine Schlüsselrolle in JavaScript, um zu warten, bis die Ausführung bestimmter Aufgaben abgeschlossen ist. Damit kann der Benutzer die nächste Aufgabe nach Abschluss einer Aufgabe ausführen. Dieser Beitrag zeigt das Versprechen, das zu warten, indem sie die nutzen beschließen() Methode in JavaScript. Es ist nützlich für Rückruffunktionen, die einen Code ausführen, der auf den Benutzeranforderungen basiert. Darüber hinaus kann es die Flusskontrolle von asynchronen Ereignissen verwalten, bei denen parallele Ereignisse aufgerufen werden.

Warum Versprechen in JavaScript erforderlich sind?

JavaScript kann eine Aufgabe auf sequentielle Weise zu einer bestimmten Zeit ausführen. Die Ausführung des Codes parallel macht jedoch einige Probleme. Zum Beispiel, wenn ein Benutzer 5 Sekunden für die festlegt setTimeout () Methode, das JavaScript führt den nächsten Teil des Codes aus, bevor die vorherige Aufgabe erledigt wird. Daher müssen Versprechen warten, bis die aktuelle Aufgabe ausgeführt wird.

Arbeiten von Versprechen in JavaScript

Ein Versprechen ist ein auf JavaScript-basierter Objekt, das nach Abschluss oder Inferenz einer asynchronen Aufgabe einen Wert zurückgibt. Die abgeschlossene Aufgabe bezieht sich auf den Funktionsaufruf von Auflösungen, während die unvollständige Aufgabe den Ablehnungsfunktionsaufruf angibt. Die Syntax wird hier bereitgestellt, indem das Versprechen mit dem Auflösungsfunktionsaufruf berücksichtigt wird.

Syntax

Versprechen.Auflösung (Wert);

Die Syntax gibt ein Versprechen zurück "Objekt" Das löst den Vorgang Wert.

Verschiedene Versprechungszustände in JavaScript

Versprechen wird durch die Verwendung des Konstruktors erstellt. Ein Versprechen ist ein Objekt, das drei Formen enthält, "erfüllt", "abgelehnt", Und "ausstehend" und werden unten beschrieben:

  • erfüllt: bezieht sich auf das Versprechen, das gelöst wird.
  • abgelehnt: Zeigt an, dass das Versprechen abgelehnt wurde.
  • ausstehend: Geben Sie den Ausgangszustand an, bevor das Versprechen abgelehnt oder gelöst wird.

Notiz: Das Versprechen wird hauptsächlich für asynchrone Operationen verwendet. Benutzer können den Vorgang jedoch durch Synchronisieren ablehnen oder beheben.

Lassen Sie uns praktizieren, wie verschiedene Beispiele auf das Versprechen mit unterschiedlichen Zeiträumen warten müssen.

Beispiel 1: Warten auf 3 Sekunden

Auf ein Beispiel wird das Versprechen verwendet, in JavaScript auf 3000 Millisekunden zu warten.

Code

Konsole.log ('Beispiel, um auf Versprechen zu warten, um gelöst zu werden');
const p1 = neues Versprechen ((Resolve, Ablehnung) =>
setTimeout (() =>
Konsole.log ('Erstversprechen gelöst');
, 3000);
);

In diesem Code:

  • Erstens die "Versprechen" Konstruktor wird von a genannt neu Stichwort.
  • Danach rufen Sie A zurück setTimeout () Methode durch Übergabe einer Zeichenfolge "Erstes Versprechen gelöst" Und "3000" Millisekunden.
  • Daher wartet die vorübergehende String 3 Sekunden, um das Versprechen in JavaScript zu lösen.

Ausgang

Die Ausgabe zeigt, dass eine Nachricht "Erstes Versprechen gelöst" wird nach 3 Sekunden angezeigt.

Beispiel 2: Verwenden der Schlüsselwörter "Async" und "Warten", um auf ein Versprechen zu warten

Ein weiteres Beispiel wird durch die Verwendung des asynchron Und erwarten Schlüsselwörter, um auf Versprechen in JavaScript zu warten. Der Code ist unten bereitgestellt.

Code

Konsole.log ('Versprechen, gelöst zu werden');
Async Funktion info ()
const verspricht = neues Versprechen (Resolve =>
Resolve ('Willkommen bei JavaScript');
const txt = wartete Versprechen;
Konsole.log (txt);
txt zurückgeben;
die Info()

In diesem Code:

  • Erstens Funktion die Info() ist mit dem beschäftigt "Async" Schlüsselwort, das das Versprechen zurückgibt.
  • Danach die "Versprechen" Konstruktor wird mit a aufgerufen neu Schlüsselwort und ein Rückruf zum “beschließen()" Methode.
  • Eine Nachricht "Willkommen bei JavaScript" wird als Argument zur Behebung der Methode übergeben.
  • Der "Async" Schlüsselwort ist mit dem “erlaubterwarten" Stichwort.
  • Der erwarten Das Schlüsselwort wird verwendet, um auf Versprechen zu warten und sie in der zu speichern "txt" Variable.
  • Am Ende die die Info() Methode wird aufgerufen, um die zurückzugeben "txt" Variable.

Ausgang

Die Ausgabe gibt eine Nachricht zurück "Willkommen bei JavaScript" Durch die Verwendung der Auflösungsmethode des Versprechens.

Beispiel 3: Warten Sie 2 Sekunden lang mit "Async" und "Warte" -Keywords

Der folgende Code wird geführt, um auf Versprechen zu warten, um mit der Lösung zu lösen asynchron Und erwarten Schlüsselwörter.

Konsole.log ('Versprechen, gelöst zu werden');
asynchrische Funktion wait_tim ()
Lassen Sie P2 = Versprechen warten;
Konsole.log (p2);

lass versprechen = neues Versprechen (Resolve =>
setTimeout (() => Resolve ('JavaScript'), 2000);
);
wait_tim ();

Die Erklärung des Code ist wie folgt:

  • Erstens die wait_tim () Methode ist definiert mit dem "Async" Schlüsselwort, das das Versprechen zurückgibt.
  • Außerdem die erwarten Schlüsselwort wird verwendet, um auf ein Versprechen zu warten und es in der zu speichern "txt" Variable.
  • Danach die "Versprechen" Konstruktor wird mit a aufgerufen neu Schlüsselwort, das a zurückruft beschließen Methode.
  • In dieser Methode die setTimeout () Die Methode wird durch Übergeben einer Zeichenfolge verwendet "JavaScript" Und "2000" Millisekunden.
  • Am Ende die "Wait_tim ()" " Methode wird aufgerufen, um zu warten "2 Sekunden" das Versprechen zu lösen.

Ausgang

Die Ausgabe zeigt, dass eine Nachricht "JavaScript" wartet 2 Sekunden vor dem Drucken auf der Konsole.

Abschluss

JavaScript liefert a Versprechen.beschließen() Methode, um auf Versprechen zu warten und ein Versprechensobjekt zurückzugeben, das durch Bereitstellung eines bestimmten Wertes gelöst wird. Dieser Artikel erklärt die Funktionsweise eines Versprechensobjekts zusammen mit Syntax. Die Methode ist nützlich, um den Fluss asynchroner Ereignisse zu steuern, bei denen parallele Ereignisse aufgerufen werden. Darüber hinaus werden zahlreiche Beispiele bereitgestellt, um auf das Versprechen zu warten, indem Sie die verwenden setTimeout () Methode.