Maison  >  Article  >  interface Web  >  Comment faire en sorte que js suspende l'exécution

Comment faire en sorte que js suspende l'exécution

php中世界最好的语言
php中世界最好的语言original
2018-03-16 09:58:5114618parcourir

Cette fois, je vais vous expliquer comment mettre en pause l'exécution de js et quelles sont les précautions pour mettre en pause js Ce qui suit est un cas pratique, jetons un coup d'œil.

JavaScript est un langage de script monothread qui peut gérer des tâches asynchrones. Il ne fournit pas de veille ni d'autres méthodes similaires. Lorsqu'il est nécessaire de mettre le script js en pause, vous pouvez l'utiliser. la méthode suivante Analyse monothread

1 : Suspendre l'alerte et confirmer les fenêtres contextuelles

Les méthodes de classe d'alerte et de confirmation de la fenêtre contextuelle JS peuvent suspendre l'exécution des scripts js

Par exemple :

<script>
console.log(1);
alert(1);
console.log(2);
</script>


Comment faire en sorte que js suspende lexécution

Comment faire en sorte que js suspende lexécution

Une fenêtre pop-up comme cela nécessite de cliquer pour confirmer avant d'exécuter ce qui suit La déclaration

est en pause même s'il s'agit d'une minuterie

<script>
var i=0;
setInterval(function(){
    console.log(i);
    i++;
    if(i==5){
        alert(i);
    }
},500)
</script>


Comment faire en sorte que js suspende lexécution

Comment faire en sorte que js suspende lexécution

Donc, si vous devez faire une pause, vous pouvez utiliser la méthode contextuelle pour mettre le script en pause. L'inconvénient est que cela affectera l'expérience utilisateur

2 : while(); méthode pause

while La méthode peut être suspendue, mais elle affectera les performances du navigateur et est difficile à contrôler

<script>
var i=0;
console.log(new Date());
while(i<5000000000){
    i++;
}
console.log(new Date());
</script>


Comment faire en sorte que js suspende lexécution

Tant que vous contrôlez les conditions de jugement de while, vous pouvez réaliser une pause

Trois, synchronisation ajax

méthode de demande

Cette méthode nécessite la coopération du serveur pour être mise en œuvre. Je ne la recommande pas car je suis trop paresseux pour la tester.

Les étapes approximatives sont les suivantes : Ajax demande au serveur de manière synchrone, avec un paramètre time. le serveur le reçoit, sleep(time), sortie lorsque l'heure est atteinte, retour à la fonction de rappel ajax

, dans ce délai, ajax est à l'état arrêté Enfin, j'aimerais pour ajouter quelques mots. En fait, js ne peut pas mettre le script en pause. La méthode ci-dessus préempte uniquement le thread actuel du navigateur, ce qui équivaut à une certaine instruction du thread restant toujours dans l'état actuel,

comme : while, la méthode

while boucle

n'a pas encore été exécutée, donc le thread ne peut pas être quitté

ne permet pas de changer d'exécution, donc une pause est implémentée

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Comment utiliser JQ pour cliquer avec le bouton droit sur les pages Web préférées


Le plug-in de téléchargement asynchrone d'aja- dans


jQuery implémente la vérification de formulaire après une vérification multicouche

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