Was ist ein Versprechensobjekt in JavaScript?

Was ist ein Versprechensobjekt in JavaScript?

In JavaScript werden die Versprechungsobjekte verwendet, um mit den asynchronen Operationen zu arbeiten. Das Konzept des Versprechens mag zunächst kompliziert klingen, aber in Wirklichkeit sind sie recht einfach; Wir können JavaScript -Versprechen verstehen, indem wir sie mit realen Versprechen vergleicht.

Im Alltag versprechen wir, unser Engagement zu zeigen. In ähnlicher Weise machen wir in JavaScript ein Versprechensobjekt, wenn wir uns für die Ausführung eines Codeblocks entscheiden müssen.

Wenn wir beispielsweise eine Anfrage zum Abrufen von Daten von einer API über unseren Code senden, braucht die API Zeit, um zu antworten. In der Zwischenzeit wechselt der JavaScript -Interpreter auf den nächsten Codeblock, aber wir möchten nach der Erfüllung oder Ablehnung der Antwort ein Code -Stück ausführen. Wenn wir nun das Versprechensobjekt verwenden, können wir die gewünschte Codeszeile über die Erfüllung oder Ablehnung der API -Antwort ausführen.

Die JavaScript -Versprechen -Objekte können drei verschiedene Zustände haben i.E:

  • Ausstehend
  • Erfüllt
  • Abgelehnt

Das Versprechen steht im Ausstehenden Zustand, wenn das Ergebnis des Versprechensobjekts undefiniert ist. Es wird erfüllt, wenn das Ergebnis einen Wert hat und abgelehnt wird, wenn das Ergebnis ein Fehler ist. Zum Beispiel, im obigen Beispiel, wenn wir die Anfrage an die API gesendet haben und auf die Daten warten, ist das Versprechen im Ausstehenden Zustand. Wenn die API die Daten erfolgreich sendet.

Was sind Versprechen in JavaScript?

Wie oben erwähnt, werden asynchrone Operationen in JavaScript durch Versprechen behandelt. Asynchrones JavaScript bezieht sich hauptsächlich auf die Funktionen, die parallel zum Hauptprogramm ausgeführt werden.

In JavaScript -Ereignissen und Rückruffunktionen wurden vor Versprechungen zur Behandlung des asynchronen Betriebs verwendet. Versprechen wurden in der ES6 -Version von JavaScript im Jahr 2015 hinzugefügt. Obwohl Rückruffunktionen und Ereignisse nützlich waren, hatten sie immer noch ihre Grenzen. Callback Hell war der größte Nachteil der Verwendung von Rückruffunktionen.

Versprechen eignen sich perfekt für den Umgang mit asynchronen Operationen, da sie mehrere asynchrone Operationen ausführen können und bei der Behandlung von Ereignissen und Rückrufen viel besser sind.

Wie Versprechen in JavaScript funktionieren

Asynchrone Funktionen sind Funktionen, die parallel zum Hauptprogramm ausführen. Diese Funktionen funktionieren getrennt vom Hauptprogramm und benachrichtigen Sie den aufrufenden Thread über Erfolg, Misserfolg oder Fortschritt.

Das Versprechensobjekt in JavaScript hat einen von drei Zuständen:

  • Ausstehend: Es ist der Zustand des Versprechensobjekts zwischen seiner Initialisierung und dem Abschluss.
  • erfüllt/gelöst: Es ist der Zustand, der angibt, dass die Operation des Versprechensobjekts erfolgreich war.
  • Abgelehnt: Es ist der Zustand, der angibt, dass die Operation des Versprechensobjekts erfolglos war.

Erstellen eines einfachen Versprechensobjekts in JavaScript

Hier lernen wir, in wenigen einfachen Schritten ein Versprechenobjekt zu erstellen:

  1. In JavaScript wird ein Versprechenobjekt mit einem Konstruktor erstelltNeues Versprechen ()”. Dieser Konstruktor nimmt eine Rückruffunktion mit zwei Argumenten als Argument.
  2. Der Code, der erforderlich ist, um die versprochene Aufgabe auszuführen.
  3. Wenn die Aufgabe erfolgreich ausgeführt wird, wird das Versprechen gelöst/erfüllt; Ansonsten wird das Versprechen abgelehnt/unerfüllt.
  4. Es gibt zwei Methoden, die dem Versprechenobjekt zugeordnet sind, die dann () und die catch () -Methode. Diese Methoden werden (jeweils) bezeichnet, wenn das Versprechen gelöst oder abgelehnt wird.

Notiz: Die Browserkonsole wird zur Demonstration von Beispielen in diesem Artikel verwendet.

JavaScript -Versprechen werden mit dem neuen erstellt Promise () Konstruktor:

const Mypromise = New Promise ();

Das neue Versprechen erfordert zwei verschiedene Parameter. Einer dieser Parameter ist der Erfolg (für das Versprechen wird das andere gelöst) und der andere ist für das Scheitern (falls das Versprechen abgelehnt wird):

const Mypromise = New Promise ((Resolve, Reject) =>
// Zustand // Zustand
);

Schließlich definieren wir den Körper des Versprechensobjekts. Wir geben ihm eine Bedingung, die nur dann erfüllt wird, wenn das Versprechen gelöst wird:

const Mypromise = New Promise ((Resolve, Reject) =>
Sei Bedingung = wahr;
if (Zustand)
Entschlossenheit ('Versprechen wird gelöst.');
anders
ablehnen ('Versprechen wird abgelehnt.');

);

Lassen Sie uns nun lernen, unser neu erstelltes Versprechensobjekt zu verwenden. Es kann nur zwei verschiedene Endergebnisse für ein Versprechensobjekt geben. Es kann entweder ein gelöstes oder abgelehntes Versprechen sein.

dann () Methode : Die dann () -Methode definiert, was als nächstes passieren wird, wenn ein Versprechen gelöst wird.

mein Versprechen.Dann();

In diesem Beispiel verwenden wir die dann () -Methode, um eine Nachricht (die wir aus dem Versprechen erhalten haben) an der Konsole zu protokollieren.

mein Versprechen.dann ((message) =>
Konsole.log (meldung);
);

catch () Methode : In ähnlicher Weise definiert die Catch () -Methode, was als nächstes passieren wird, wenn ein Versprechen fehlschlägt.

mein Versprechen.dann ((message) =>
Konsole.log (meldung);
).catch ((message) =>
Konsole.log (meldung);
);

Es kann auf zwei verschiedene Arten geschrieben werden; getrennt oder in Kombination mit der dann () Methode. Falls das Versprechen nicht erfüllt ist, wird die Catch () -Methode ausgeführt, und diesmal wird eine andere Nachricht auf der Konsole angezeigt.

Abschluss

Versprechen in JavaScript sind Objekte, die als Alternative zu Rückruffunktionen und Ereignissen verwendet werden. Versprechen können drei verschiedene Zustände haben, die ich.e. ausstehend, erfüllt oder unerfüllt. Im ausstehenden Zustand wartet das Versprechensobjekt auf den Wert, sodass es keinen Wert hat. In dem erfüllten Zustand hat es den gelösten Wert und im unerfüllten Zustand hat es den Grund, warum das Versprechen nicht gelöst wurde. Dieser Beitrag war eine gründliche Anleitung zu Versprechenobjekten in JavaScript.