Gestion des erreurs de promesse JavaScript

Gestion des erreurs de promesse JavaScript
Le code asynchrone peut utiliser des promesses pour appliquer une gestion des erreurs structurées. Lors de l'utilisation de promesses, vous pouvez spécifier un gestionnaire d'erreurs au «alors()«Méthode ou utilisez un«attraper()" bloc. Semblable aux exceptions ajoutées dans le code ordinaire, lorsqu'une promesse est rejetée, il recherche le gestionnaire d'erreurs le plus proche, où l'erreur lancée est passée en deuxième paramètre à la méthode () ou le gestionnaire d'erreur le passe pour attraper () méthode.

Cet article discutera de la gestion des erreurs de promesse JavaScript à l'aide d'exemples appropriés. Alors, commençons!

Gestion des erreurs de promesse JavaScript

Les promesses sont utilisées pour gérer le flux d'exécution dans un programme. Les promesses de chaînage sont également utiles lors de l'exécution d'une série de fonctions asynchrones, où chacune dépend de la fonction antérieure. Dans une promesse, vous pouvez utiliser deux méthodes de traitement des erreurs qui sont les ««alors()"Méthode et le"attraper()" bloc.

Gestion des erreurs de promesse JavaScript en utilisant la méthode alors ()

Le "alors()«La méthode est exécutée lorsqu'une promesse est tenue ou rejetée. Si la promesse ajoutée est remplie avec succès, sa fonction de gestionnaire connexe fonctionnera. Cependant, le gestionnaire d'erreurs pour le «alors()«La méthode sera exécutée en cas de rejet de promesse.

Exemple: la méthode des erreurs de promesse JavaScript en utilisant alors () la méthode
Dans l'exemple ci-dessous, nous avons ajouté "alors()»Méthode, qui comprend deux rappels, l'un est la fonction de gestionnaire de succès et l'autre est pour la gestion des erreurs:

const promedObj = nouvelle promesse ((résoudre, rejeter) =>
setTimeout (() =>
rejeter ("une erreur est rencontrée");
, 2000));
PromiseBj.alors ((réponse) =>
console.log (réponse);, (erreur) =>
console.log (erreur); );

L'exécution du programme ci-dessus vous montrera la sortie suivante:

Comme vous pouvez le voir sur la sortie, ce gestionnaire spécifié du «alors()«La méthode fonctionne parfaitement; Cependant, il a également quelques inconvénients. Par exemple, nous pouvons rencontrer une erreur dans le gestionnaire de réussite, mais le gestionnaire de réussite supplémentaire ne peut pas le gérer. De plus, dans le cas de l'utilisation de la méthode alors (), vous devez écrire un gestionnaire d'erreurs pour chaque bloc «alors ()». Dans une telle situation, vous pouvez utiliser «attraper()"Pour surmonter les inconvénients mentionnés.

Exemple 1: Gestion des erreurs de promesse JavaScript en utilisant le bloc Catch ()
Maintenant, nous allons ajouter un catch () pour gérer l'erreur ou l'état de rejet de la promesse:

const promedObj = nouvelle promesse ((résoudre, rejeter) =>
setTimeout (() =>
rejeter ("une erreur est rencontrée");
, 2000));
PromiseBj.alors ((réponse) =>
console.log (réponse);).catch ((error) =>
console.log (erreur); );

Lorsque l'une des promesses supplémentaires est rejetée, la chaîne de promesses restante sera terminée. C'est la raison pour laquelle un seul journal de console est exécuté:

Exemple 2: Gestion des erreurs de promesse JavaScript en utilisant le bloc Catch ()
Dans l'exemple suivant, tout d'abord, l'objet de promesse de présence acceptera «Taylor«Comme argument de nom, puis l'affichez sur la console. Après cela, la fonction vérifiera si la fonction de promesse est remplie ou rejetée et exécuter le code ajouté en conséquence:

constance constance = function (name)
retourner la nouvelle promesse ((résoudre, rejeter) =>
if (name === "Louis")
retour rejeter ("Louis est présent");
autre
setTimeout (() =>
return résoudre (nom);
, 2000);

);
présence ("Taylor")
.alors ((data) =>
console.journal (données);
Retour présence ("Louis"); )
.alors ((data) =>
console.journal (données);
Retour présence ("Stepheny"); )
.catch ((error) =>
console.log (erreur); )

Promesse javascript.Méthode all ()

La promesse.All () Méthode JavaScript vous permet d'exécuter simultanément plusieurs opérations asynchrones. Dans un tel scénario, le rappel sera exécuté lorsque la promesse.Toute la méthode termine les opérations spécifiées.

Exemple: Utilisation de la promesse JavaScript.Méthode all ()
L'exemple fourni exécutera simultanément les promesses "X","y", et "z". Après cela, toutes les promesses reviendront «nom»:

const promedObj = fonction (name)
retourner la nouvelle promesse ((résoudre, rejeter) =>
setTimeout (() =>
return résoudre (nom);
, 2000);
);
const x = promestObj ("taylor");
const y = promestObj ("Stepheny");
const z = promestObj ("max");
Promesse.tout ([x, y, z])
.alors ((data) =>
console.journal (données); );

L'exécution ne prendra que deux secondes pour afficher trois noms, tandis que dans le cas de promesse de chaînage, il faudra six secondes:

Promesse javascript.Méthode race ()

Si vous souhaitez exécuter le rappel dès que la première opération asynchrone est terminée, vous pouvez utiliser le «Promesse.course()" méthode.

Exemple: Utilisation de la promesse JavaScript.Méthode race ()
Nous avons créé trois objets de promesses «X","y", et "z«Avec le nom et les arguments de temps passés au«promestobj ()" fonction:

const promedObj = fonction (nom, temps)
retourner la nouvelle promesse ((résoudre, rejeter) =>
setTimeout (() =>
return résoudre (nom);
, temps);
);

Ici, "Marie"A le moins de temps de"1«Deuxièmement, elle va donc gagner la course et son nom sera affiché comme sortie:

const x = promestObj ("taylor", 3000);
const y = promestObj ("Stepheny", 2000);
const z = promestObj ("Marie", 1000);
Promesse.race ([x, y, z])
.alors ((data) =>
console.journal (données); )
.catch ((error) =>
console.log (erreur);
)

La sortie ci-dessus signifie que nous avons réussi à mettre en œuvre la promesse.Méthode race () pour exécuter plusieurs opérations simultanément.

Conclusion

En utilisant le attraper() et alors() Méthodes, vous pouvez gérer l'erreur lancée ou rejeter () appel en promesse de promesse. Pour gérer les erreurs, il est préférable d'ajouter une méthode catch () dans votre code. Le gestionnaire d'erreurs examine ensuite le code et les gère en conséquence. Cet article a expliqué la gestion des erreurs de promesse en javascript à l'aide d'exemples appropriés.