JavaScript Versprechen Fehlerbehandlung

JavaScript Versprechen Fehlerbehandlung
Asynchroner Code kann Versprechen zur Anwendung der strukturierten Fehlerbehandlung verwenden. Während der Verwendung von Versprechen können Sie einen Fehlerbehandler für die “angebenDann()"Methode oder verwenden Sie eine"fangen()" Block. Ähnlich wie bei den im regulären Code hinzugefügten Ausnahmen sucht es nach dem nächsten Fehlerhandler, wobei ein geworfener Fehler als zweiter Parameter an dann () Methode übergeben wird oder der Fehlerhandler sie an catch () übergibt () Methode übergibt.

In dieser Beschreibung werden JavaScript-Versprechen-Fehlerbehandlungen mithilfe geeigneter Beispiele besprochen. So lass uns anfangen!

JavaScript Versprechen Fehlerbehandlung

Versprechen werden zur Verwaltung des Ausführungsflusss in einem Programm verwendet. Die Verheißungen versprechen sind auch nützlich, wenn eine Reihe asynchroner Funktionen ausgeführt werden, bei denen jeweils von der vorherigen Funktion abhängt. In einem Versprechen können Sie zwei Methoden zum Umgang mit Fehlern verwenden, die die sind “Dann()”Methode und die“fangen()" Block.

JavaScript -Versprechen -Fehlerbehandlung mit der dann () Methode

Der "Dann()Die Methode wird ausgeführt, wenn ein Versprechen erfüllt oder abgelehnt wird. Wenn das zusätzliche Versprechen erfolgreich erfüllt wird, wird die damit verbundene Handler -Funktion ausgeführt. Der Fehlerhandler für die “Dann()Die Methode wird im Falle einer Ablehnung von Versprechen ausgeführt.

Beispiel: JavaScript -Versprechen -Fehlerbehandlung mit der dann () Methode
Im folgenden Beispiel haben wir hinzugefügt “Dann()”Methode, die zwei Rückrufe umfasst, ist die Erfolgshandlerfunktion und die andere für Fehlerbehandlungen:

Const PromiseObj = New Promise ((Resolve, Ablehnung) =>
setTimeout (() =>
ablehnen ("Ein Fehler wird aufgetaucht");
, 2000));
Versprechen.Dann ((Antwort) =>
Konsole.log (Antwort);, (Fehler) =>
Konsole.log (Fehler); );

Die Ausführung des oben gegebenen Programms zeigt Ihnen die folgende Ausgabe:

Wie Sie aus der Ausgabe erkennen können, wurde der angegebene Handler der “angegeben.“Dann()Die Methode funktioniert perfekt; Es hat jedoch auch einige Nachteile. Zum Beispiel können wir auf einen Fehler im Erfolgshandler stoßen, aber der zusätzliche Erfolgshandler kann nicht damit umgehen. Außerdem müssen Sie bei der Verwendung der dann () -Methode verwenden, einen Fehlerhandler für jeden Block „then ()“ schreiben. In einer solchen Situation können Sie nutzen “fangen()Um die genannten Nachteile zu überwinden.

Beispiel 1: JavaScript -Versprechen -Fehlerbehandlung mit Catch () Block
Jetzt werden wir einen Catch () für den Umgang mit dem Fehler oder dem Ablehnungszustand des Versprechens hinzufügen:

Const PromiseObj = New Promise ((Resolve, Ablehnung) =>
setTimeout (() =>
ablehnen ("Ein Fehler wird aufgetaucht");
, 2000));
Versprechen.Dann ((Antwort) =>
Konsole.log (Antwort);).catch ((error) =>
Konsole.log (Fehler); );

Wenn einer der zusätzlichen Versprechen abgelehnt wird, wird die verbleibende Versprechenkette beendet. Das ist der Grund, warum nur ein Konsolenprotokoll ausgeführt wird:

Beispiel 2: JavaScript -Versprechen -Fehlerbehandlung mit Catch () Block
Im folgenden Beispiel wird das Anwesenheitsversprechen zunächst akzeptieren “TaylorAls Namensargument und dann der Konsole anzeigen. Danach prüft die Funktion, ob die Versprechenfunktion erfüllt oder abgelehnt wird, und führt den hinzugefügten Code entsprechend aus:

const teilnahme = function (name)
Neues Versprechen zurückgeben ((Resolve, ablehnen) =>
if (name === "louis")
Return Reject ("Louis ist anwesend");
anders
setTimeout (() =>
Resolve zurückgeben (Name);
, 2000);

);
Teilnahme ("Taylor")
.Dann ((Daten) =>
Konsole.Logdaten);
Rückkehrbesuch ("Louis"); )
.Dann ((Daten) =>
Konsole.Logdaten);
Rückkehrbesuch ("Stepheny"); )
.catch ((error) =>
Konsole.log (Fehler); )

JavaScript -Versprechen.All () Methode

Das Versprechen.Mit aller () JavaScript -Methoden können Sie mehrere asynchrone Operationen gleichzeitig ausführen. In einem solchen Szenario wird der Rückruf ausgeführt, wenn das Versprechen.Die gesamte Methode vervollständigt die angegebenen Operationen.

Beispiel: Verwenden von JavaScript -Versprechen.All () Methode
Das vorgesehene Beispiel wird gleichzeitig die Versprechen ausführen “X","y", Und "z”. Danach werden alle Versprechen zurückkehren “Name”:

const PromiseObj = Funktion (Name)
Neues Versprechen zurückgeben ((Resolve, ablehnen) =>
setTimeout (() =>
Resolve zurückgeben (Name);
, 2000);
);
const x = PromiseObj ("Taylor");
const y = cromseobj ("Stepheny");
const z = PromiseObj ("max");
Versprechen.alle ([x, y, z])
.Dann ((Daten) =>
Konsole.Logdaten); );

Die Ausführung dauert nur zwei Sekunden, um drei Namen anzuzeigen, während im Falle einer Verheißung sechs Sekunden erforderlich ist:

JavaScript -Versprechen.Race () Methode

Wenn Sie den Rückruf ausführen möchten, sobald der erste asynchrone Operation abgeschlossen ist, können Sie die “verwendenVersprechen.Wettrennen()" Methode.

Beispiel: Verwenden von JavaScript -Versprechen.Race () Methode
Wir haben drei Versprechungsobjekte erstellt “X","y", Und "z"Mit dem Namen und der Zeitargumente an die" übergeben "VersprechenObj ()Funktion:

const PromiseObj = Funktion (Name, Zeit)
Neues Versprechen zurückgeben ((Resolve, ablehnen) =>
setTimeout (() =>
Resolve zurückgeben (Name);
, Zeit);
);

Hier, "Marie"Hat die geringste Zeit von"1Zweitens, also wird sie das Rennen gewinnen und ihr Name wird als Ausgabe angezeigt:

const x = PromiseObj ("Taylor", 3000);
const y = versprichtObj ("Stepheny", 2000);
const z = PromiseObj ("Marie", 1000);
Versprechen.Rasse ([x, y, z])
.Dann ((Daten) =>
Konsole.Logdaten); )
.catch ((error) =>
Konsole.log (Fehler);
)

Die oben gegebene Ausgabe bedeutet, dass wir das Versprechen erfolgreich implementiert haben.Race () Methode zur gleichzeitigen Ausführung mehrerer Operationen.

Abschluss

Verwendung der fangen() Und Dann() Methoden können Sie den Fehler bewältigen oder ablehnen () in der Versprechenketten aufrufen. Um Fehler zu behandeln, ist es vorzuziehen, eine Catch () -Methode in Ihren Code hinzuzufügen. Der Fehlerhandler untersucht dann den Code und behandelt sie entsprechend. In diesem Artikel wurde das Versprechen-Fehlerbehandlungen in JavaScript mit Hilfe geeigneter Beispiele erläutert.