Maison >interface Web >js tutoriel >Les promesses ECMAScript 6 peuvent-elles être annulées ?

Les promesses ECMAScript 6 peuvent-elles être annulées ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-25 05:31:29842parcourir

Can ECMAScript 6 Promises Be Cancelled?

Annulation des chaînes de promesse ECMAScript 6

Existe-t-il un moyen de supprimer le .thens d'une instance de promesse JavaScript ?

Les promesses ECMAscript 6 ne sont pas annulables par défaut. Malgré les discussions en cours, il n'existe pas de solution officielle dans ES6.

Alternatives :

  • Sous-classement : La création de votre propre implémentation de promesse permet annulation, mais sa mise en œuvre peut être peu fiable.
  • Implémentations de la promesse Userland : Des bibliothèques tierces telles que la promesse annulable et l'annulation de la promesse offrent des promesses annulables.

Solution actuelle pour débloquer les tests :

Implémentez un indicateur CancelTest personnalisé dans le cadre de test qui interroge les demandes d'annulation. Lorsque le délai d'attente se produit, définissez CancelTest sur true et appelez assert.fail() pour marquer le test comme ayant échoué.

Autres mises à jour :

Après avoir résolu le problème initial ( une erreur non détectée lors de fn.call()), l'instruction then() n'a pas été appelée en raison d'une erreur non détectée dans la fonction de test elle-même. En détectant l'erreur, la promesse du test peut se résoudre correctement, permettant au test de se terminer et à l'instruction then() de s'exécuter.

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!

Déclaration:
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