Paramètre fonction récursive ok sans timeout seulement

Résolu/Fermé
math 2000 Messages postés 2579 Date d'inscription dimanche 9 septembre 2007 Statut Membre Dernière intervention 7 mai 2016 - 5 sept. 2014 à 20:48
math 2000 Messages postés 2579 Date d'inscription dimanche 9 septembre 2007 Statut Membre Dernière intervention 7 mai 2016 - 6 sept. 2014 à 01:43
Bonjour,
j'ai besoins de créer une fonction qui verifie à interval régulier une condition il semble que setinterval ne puisse avoir de condition de fin autre que le temps j'ai donc créer ma propre fonction récursive.

Cependant j'ai la console chrome qui me dis cond is undifined quand ma fonction est dans setinterval
merci

var b=20;
var a=0;
function askUntil(cond)
{
a++;
b--;
if (cond()==false)
{
alert("test");
setTimeout("askUntil(cond)",3000);

}
}
askUntil(function(){return a==b;});


A voir également:

1 réponse

math 2000 Messages postés 2579 Date d'inscription dimanche 9 septembre 2007 Statut Membre Dernière intervention 7 mai 2016 404
5 sept. 2014 à 21:37
ha c'est bon en fait appellé askUntil dans le setTimeOut avvec les guillement l'appellé la fonction en mmod variable générale il fallait donc enlever les guillement ce qui donne
<script type="text/javascript">
var b=20;
var a=0;
function askUntil(cond)
{
a++;
b--;
if (cond()==false)
{
alert("test");
setTimeout(askUntil(cond),3000);

}
}
askUntil(function(){return a==b;});
</script>
0
math 2000 Messages postés 2579 Date d'inscription dimanche 9 septembre 2007 Statut Membre Dernière intervention 7 mai 2016 404
6 sept. 2014 à 01:43
j'ai oublié d'entourrer askuntil de function sinon ça n'attend pas, la vrai réponse est comme ceci

				setTimeout(function(){askUntil(cond)},3000);
0