Js: setTimeOut sans argument de fonction?
Pourquoi avons-nous besoin pour passer une fonction en Javascript setTimeOut https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers.setTimeout
Pourquoi ne pouvons-nous pas faire sg simple comme
setTimeOut(1000);
Puis-je passer un vide ou inexistants fonction de là?
Je veux simplement attendre dans une boucle for, après chaque itération.
Tu veux dire comme un
Oui exactement 🙂 sleep() dans php est tellement pratique.
Je sais...j'espère qu'ils travaillent sur elle 🙂
Ne se produira pas. Il va à l'encontre de tous les principes de JavaScript
J'ai trouvé cette option: setTimeout(() = > {faire quelque chose}, temps); mais je ne trouve pas de documentation sur ce sujet. mais son travail.
sleep()
méthode en PHP? Il n'y a pas une telle chose en Javascript. Vous devez le faire avec setTimeOut
ou setInterval
.Oui exactement 🙂 sleep() dans php est tellement pratique.
Je sais...j'espère qu'ils travaillent sur elle 🙂
Ne se produira pas. Il va à l'encontre de tous les principes de JavaScript
J'ai trouvé cette option: setTimeout(() = > {faire quelque chose}, temps); mais je ne trouve pas de documentation sur ce sujet. mais son travail.
OriginalL'auteur giorgio79 | 2015-02-09
Vous devez vous connecter pour publier un commentaire.
Javascript est mono-thread. Vous pouvez utiliser
setTimemout
de reporter une opération, mais le thread va continuer. Doncsera exécuté
doStuff
etdoMoreStuff
par la suite, et sera exécutéotherStuff
après une seconde. C'est pourquoi il est inutile et impossible à utilisersetTimeout
comme un retard en soi. SidoMoreStuff
doit être reporté, vous assurez la fonction de rappel pour le retard:ou les deux
otherstuff
etdoMoreStuff
retardé:Peut-être ma réponse à cette question est utile aussi.
vérifiez la réponse à la question que j'ai lié, et vérifié le jsfiddle dans sa réponse (jsfiddle.net/KooiInc/k47rw5o4)
Merci. Explique beaucoup de choses.
OriginalL'auteur KooiInc
setTimeout enregistre encore dans la boucle d'événements. Quand le JavaScript a fini tous ses instructions actuelles, il retourne à la boucle d'événements, et attend qu'un événement se produise. Quand il le fait, il appelle la fonction de rappel, ce qui est la fonction que vous passez à setTimeout.
De faire une boucle for avec setTimeout, faire quelque chose comme ceci:
où i est l'itération en cours et n est max d'itérations
Lorsque JavaScript n'est pas dans la boucle d'événements, c'est à dire qu'il exécute le code, il rend le navigateur ne répond pas. Juste au ralenti pendant une seconde à faire exactement cela, donc si vous parcourez 10 fois au cours d'une boucle, le navigateur ne répond pas dans les 10 secondes
OriginalL'auteur Suppen
-->
setTimeout(callbackFunction[, interval])
Cela peut être comprendre que vous allez appeler une fonction avec le même nom(Donné par vous), après une période de temps spécifiée.
--> Vous ne pouvez pas faire comme ce
setTimeOut(1000);
car 1000 sera traitée comme une fonction de rappel Que le premier paramètre desetTimeout()
est fonction de rappel.Vous ne pouvez pas définir une fonction comme
function 1000() {
//Code Resides here.
}
parce que java script ne permet pas ce type de noms de fonction.
--> Vous pouvez passer fonction anonyme pour
setTimeout()
commesetTimeout(function() {
//Code resides here.
}[, interval]);
La fonction ci-dessus code sera exécuté après l'intervalle donné. Si aucun intervalle n'est donné, alors il sera exécuté immédiatement.
Remarque:- Paramètres indiqués entre crochets ([, ]) sont en option à passer.
--> vous pouvez Vous référer ci-après mentionnées fil de votre utilisation: JavaScript veille/attente avant de continuer
Comme ce fil contient une définition de fonction qui fonctionne comme
sleep()
dans d'autres langues.OriginalL'auteur Jitendra Khatri