Maison > interface Web > js tutoriel > Comment convertir un rappel « setTimeout » en promesse ?

Comment convertir un rappel « setTimeout » en promesse ?

Patricia Arquette
Libérer: 2024-11-26 18:51:13
original
636 Les gens l'ont consulté

How to Convert a `setTimeout` Callback into a Promise?

Comment créer une promesse à partir de setTimeout

Le problème :

Dans la programmation asynchrone, il peut être avantageux de convertir rappels en promesses. Cependant, une fonction non basée sur une promesse telle que setTimeout ne renvoie pas immédiatement une promesse par défaut. Cet article explore comment créer une promesse qui peut être utilisée dans le contexte d'une fonction comme setTimeout.

Réflexions initiales :

L'exemple fourni définit une fonction setTimeout avec un rappel. Pour créer une promesse, il est nécessaire d'envelopper le rappel setTimeout dans la fonction d'exécution du constructeur de promesse.

Solution révisée :

À l'aide de JavaScript et de promesses modernes, le code suivant montre comment créer une promesse à partir de setTimeout :

function later(delay) {
  return new Promise(resolve => setTimeout(resolve, delay));
}
Copier après la connexion

Cette fonction ultérieure prend un délai et renvoie une promesse qui se résout après le délai spécifié. Vous pouvez ensuite utiliser la promesse renvoyée dans votre code asynchrone.

Considérations avancées :

Pour des scénarios plus avancés, envisagez les variantes suivantes de la fonction ultérieure :

  • Promesse différée avec valeur : Vous pouvez transmettre une valeur au rappel setTimeout, qui sera résolu par la promesse.
  • Promesse annulable : Pour annuler le setTimeout et la promesse associée, vous pouvez créer un objet qui inclut une méthode d'annulation.

Conclusion :

La création de promesses à partir de rappels comme setTimeout permet une intégration plus facile des opérations dans votre base de code. En comprenant comment mettre en œuvre cette technique, vous pouvez améliorer la lisibilité et la maintenabilité de vos applications JavaScript asynchrones.

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