Maison > interface Web > js tutoriel > Comment puis-je créer un délai de 5 secondes en JavaScript avant d'exécuter la ligne de code suivante ?

Comment puis-je créer un délai de 5 secondes en JavaScript avant d'exécuter la ligne de code suivante ?

Patricia Arquette
Libérer: 2024-10-25 17:07:03
original
485 Les gens l'ont consulté

How can I create a 5-second delay in JavaScript before executing the next line of code?

Comment attendre 5 secondes avant d'exécuter la ligne suivante


Lorsque vous travaillez en JavaScript, le contrôle du flux d'exécution est primordial. Considérez le scénario suivant : vous avez besoin qu'une fonction fasse une pause de 5 secondes avant d'exécuter une action spécifique, telle que vérifier la valeur d'une variable.


Utilisation de la fonction setTimeout


Traditionnellement, les développeurs JavaScript s'appuient sur la fonction setTimeout pour introduire des retards d'exécution. Cette fonction prend deux paramètres : une chaîne représentant le code à exécuter et un délai exprimé en millisecondes. Dans votre cas particulier, l'extrait de code ci-dessous est insuffisant :


<br>function stateChange(newState) {<br> setTimeout('', 5000);</p>
<p> if (newState == -1) {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">alert('VIDEO HAS STOPPED');
Copier après la connexion
Copier après la connexion

}
}

Le problème ici est que la chaîne vide transmise à setTimeout ne ça n'a aucun effet. Pour créer un délai de 5 secondes avant de vérifier la variable newState, vous devez modifier le code comme suit :


<br>function stateChange(newState) {<br> setTimeout(() = > {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">if (newState == -1) {
  alert('VIDEO HAS STOPPED');
}
Copier après la connexion

}, 5000);
}

En fournissant une fonction comme premier argument, vous spécifiez le code à être exécuté après le délai. Désormais, la fonction fera une pause précise de 5 secondes avant de vérifier le nouvel état.


Alternative Solutions


Dans le JavaScript moderne, vous pouvez également exploiter async/ attendre d'obtenir le même résultat. Async/await simplifie les opérations asynchrones et rend votre code plus lisible. Voici comment l'implémenter pour votre scénario :


<br>const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));</p>
<p>fonction asynchrone stateChange(newState) {<br> wait delay(5000);</p>
<p>if (newState == -1 ) {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">alert('VIDEO HAS STOPPED');
Copier après la connexion
Copier après la connexion

}
}

Ce code utilise la fonction de délai, qui renvoie une promesse qui se résout après le délai spécifié. En utilisant async/await, vous déclarez la fonction stateChange comme fonction asynchrone et attendez la fin du délai, en assurant une pause de 5 secondes avant de vérifier le newState.

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
Article précédent:Comment accéder aux variables globales à partir du script de contenu de Gmail dans une extension Chrome ? Article suivant:Voici quelques options de titre qui correspondent aux critères : * Chemins relatifs ou absolus en JavaScript : quand utiliser lequel ? * Chemins JavaScript : absolus ou relatifs ? Un guide sur les performances et la sécurité. * Wh
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
Derniers numéros
Rubriques connexes
Plus>
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal