Maison > interface Web > js tutoriel > le corps du texte

**Pouvez-vous annuler la chaîne dans les promesses JavaScript ?**

Mary-Kate Olsen
Libérer: 2024-10-25 14:30:02
original
778 Les gens l'ont consulté

**Can You Cancel the Chain in JavaScript Promises?**

Annulation d'une chaîne de promesses Vanilla ECMAScript 6

Problème

Est-il possible d'effacer les gestionnaires d'événements .thens pour une instance de promesse JavaScript ?

Contexte

Lorsqu'un test utilisant un framework particulier expire, la promesse de délai d'attente appelle assert.fail() pour marquer le test comme ayant échoué. Cependant, le test continue de s'exécuter car la promesse du test (résultat) est toujours en attente de résolution.

Solution souhaitée

Idéalement, les .thens restants sur la variable de résultat pourraient être effacés pour empêcher davantage exécution du test.

Réponse

Malheureusement, il n'existe pas de méthode intégrée dans ECMAScript 6 pour annuler les promesses ou leurs gestionnaires .thens. Le comité ES discute toujours des solutions potentielles qui pourraient être adoptées dans les futures versions d'ECMAScript.

Solutions de contournement possibles

En attendant qu'une solution officielle soit mise en œuvre, vous pouvez envisager les solutions de contournement suivantes :

  • Sous-classement : Créez votre propre sous-classe de Promise qui intègre une logique d'annulation.
  • Implémentations de Userland Promise : Explorez les implémentations tierces de Promise qui fournissent des fonctionnalités d'annulation, tels que promesse annulable ou promesse-annulation.

Notes supplémentaires

Dans le cas spécifique mentionné dans le problème, le problème avec le test qui ne se terminait pas était dû à une erreur non détectée dans la fonction de test. Pour résoudre ce problème, vous devez gérer les erreurs de manière appropriée dans la fonction de test.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!