Versprechen in JavaScript | Erklärt

Versprechen in JavaScript | Erklärt
JavaScript ist eine hochrangige Programmiersprache. Um dieses Problem zu lösen, bietet JavaScript Rückruffunktionen, die asynchron sind, die einer Funktion äquivalent sind.

Asynchroner Code wird sofort ausgeführt und im Gegensatz zu Synchroncode wartet er nicht, bis die vorherige Codezeile ausgeführt wird. Wenn wir jedoch mit mehreren asynchronen Operationen zu tun haben, ist die Verwendung von Rückrufen keine gute Wahl, da der Code verwirrend, unüberschaubar und schwer zu verstehen oder zu debuggen wird. Daher besteht die Lösung darin, Versprechen zu verwenden.

In diesem Beitrag werden wir das Konzept der Versprechen in JavaScript zusammen mit Beispielen durchlaufen.

Was sind Versprechen?

Ein Versprechen ist eine Operation oder Aufgabe, die in Zukunft abgeschlossen sein wird. Versprechensyntax ist unten angegeben:

Versprechensyntax:

lass Mypromise = New Promise (Funktion (Auflösung, Ablehnung)
// Code
);

Wie wir aus der oben gegebenen Syntax des Versprechens erkennen können, nimmt der Versprechenkonstruktor nur die Rückruffunktion als Argument. In der Rückruffunktion haben wir die Entschlossenheit und ablehnen Argumente ab. Wenn die Operation jedoch nicht erfolgreich ist, rufen Sie die Ablehnung auf.

Um es einfach auszudrücken, lassen Sie uns annehmen, dass Ihr Geburtstag ansteht und Ihre Mutter Ihnen verspricht, Ihnen einen neuen Laptop zu besorgen. Sie haben den Laptop nicht erhalten und können nicht sicher sein, ob Sie den Laptop erhalten oder nicht bis zu Ihrem Geburtstag. Ihre Mutter kann Ihnen einen Laptop kaufen oder sie kann ihre Meinung ändern und Ihnen etwas anderes kaufen. Dies ist ein Versprechen in der Laiensprache.

Jedes Versprechen hat drei Staaten oder Möglichkeiten:

  • Ausstehend: Sie sind sich nicht sicher, ob Sie den Laptop bekommen oder nicht; nicht definiert.
  • Erfüllt: Deine Mutter kauft dir den Laptop; Ergebniswert.
  • Abgelehnt: Ihre Mutter kauft Ihnen keinen Laptop; Fehlerobjekt.

Vorteile von Versprechen

  • Asynchrone Operationen werden einfacher behandelt
  • Die Code -Lesbarkeit wird verbessert, weshalb das Debuggen einfach wird
  • Fehlerbehandlung ist einfacher als Ereignisse oder Rückrufe.
  • Der Kontrollfluss wird besser durch asynchrone Code definiert.

Bevor wir zu den Versprechen -Beispielen gehen, lassen Sie uns ein anderes Konzept innerhalb von Versprechen durchlaufen, die Versprechen sind Verbraucher deren Funktion ist es, Versprechen zu konsumieren, indem Funktionen registriert werden, indem Sie:

  • .dann (): Wenn ein Versprechen gelöst oder abgelehnt wird, wird diese Methode aufgerufen.
  • .catch (): Wenn ein Versprechen abgelehnt wird oder während der Ausführung des Versprechens ein Fehler auftritt, wird diese Methode aufgerufen.

Beispiel:

In diesem Beispiel werden wir überprüfen.

// Versprechen initialisieren
// Versprechen initialisieren
varmypromise = newPromise (Funktion (Resolve, Ablehnung)
const num1 = 4;
const num2 = 4;
// zwei Zahlen vergleiche
if (num1 === num2)
// Wenn der Betrieb erfolgreich ist
beschließen();
anders
// Wenn ein Fehler kommt
ablehnen();

);
// Versprechende Verbraucher versprechen
mein Versprechen.
dann (function ()
Konsole.log ("Operation erfolgreich");
).
catch (function ()
Konsole.log ('Fehler aufgetreten');
);
  • Wir haben das Versprechen mit dem Namen Mypromise initialisiert und eine Rückruffunktion geliefert.
  • In der Funktion haben wir die beiden Zahlen erstellt, die wir vergleichen möchten
  • Wir haben die IF-ELSE-Anweisung verwendet, um festzustellen, ob die Zahlen gleich sind oder nicht
  • Und dann haben wir das Versprechen der Verbraucher eingeschlossen
  • Wenn die Versprechenoperation erfolgreich ist, dann .Dann wird der Verbraucher aufgerufen und die Konsole zeigt den Betrieb erfolgreich an
  • Wenn ein Versprechen nicht erfolgreich ist, sehen Sie eine Nachricht, in der "Fehler aufgetreten" auf der Konsole angezeigt wird

Da die Operation erfolgreich war, sehen wir Operation erfolgreich im Konsolenprotokoll.

Ändern wir nun die in der Aufruf-Back-Funktion initiierten Zahlen, um festzustellen, ob die Fangfunktion einen Fehler erkennt oder nicht.

// Versprechen initialisieren
varmypromise = newPromise (Funktion (Resolve, Ablehnung)
const num1 = 5;
const num2 = 4;
// zwei Zahlen vergleiche
if (num1 === num2)
// Wenn der Betrieb erfolgreich ist
beschließen();
anders
// Wenn ein Fehler kommt
ablehnen();

);
// Versprechende Verbraucher versprechen
mein Versprechen.
dann (function ()
Konsole.log ("Operation erfolgreich");
).
catch (function ()
Konsole.log ('Fehler aufgetreten');
);

Da die Zahlen jetzt nicht gleich sind, wird die Funktion von Reject () aufgerufen und der Fehler wird durch die Fangfunktion zwischengespeichert:

Abschluss

Ein Versprechen ist ein Betrieb, der in Zukunft abgeschlossen ist und Entwicklern hilft, asynchronen Code zu implementieren. Versprechen werden gegenüber Rückruffunktionen bevorzugt, da Versprechen viel sauberer sind, wodurch die Lesbarkeit verbessert wird, und das Debuggen des Codes hat eine bessere Fehlerbehandlung, und mehrere asynchrone Operationen werden besser mit Versprechen behandelt. Ein Versprechen kann erfüllt, abgelehnt werden oder es ist anhängig.

In diesem Beitrag haben wir Versprechungen in JavaScript durchgemacht und mit Hilfe eines Beispiels Versprechen erklärt.