J'ai une question un peu coupage de cheveux en quatre je l'admets mais la réponse est importante quant au mode de programmation.
J'ai googlé pas mal sur le sujet pour me rendre compte qu'il existe à peu près autant d'interprétations sur le mode de fonctionnement de la méthode setTimeout que de réponses google à ma query...
De fait :
La méthode setTimeout :
1/ Est-elle une fonction qui rend la main après avoir armé un timer, auquel cas l'exécution de la fonction continue alors que le timer décompte.
Ou alors
2/ N'est elle qu'un wait qui décompte patiemment le temps avant d'exécuter la fonction. C'est à dire ne rendant pas la main avant l'écoulement du temps.
Ce problème me préoccupe car si la fonction à déclancher à l'issue du timeout est la fonction dans laquelle la méthode setTimeout se situe, alors dans le second cas, il faut prendre les mesures appropriées à l'écriture d'une fonction réentrante.
On retrouve cette même problématique si on est dans le cas 1 et que la valeur donnée en timeout est inférieure au temps nécessaire pour exécuter les instructions séparant la méthode setTimeout et la fin de la fonction.
Bon ! J'espère avoir été clair. Quand bien même j'ai moi-même un peu de mal à me relire, mais je suis sûr que quiconque à travaillé avec cette méthode comprendra ce qui me préoccupe.
Bon Dimanche à tous.
Modifié par aCOSwt (09 Oct 2006 - 09:17)
J'ai googlé pas mal sur le sujet pour me rendre compte qu'il existe à peu près autant d'interprétations sur le mode de fonctionnement de la méthode setTimeout que de réponses google à ma query...
De fait :
La méthode setTimeout :
1/ Est-elle une fonction qui rend la main après avoir armé un timer, auquel cas l'exécution de la fonction continue alors que le timer décompte.
Ou alors
2/ N'est elle qu'un wait qui décompte patiemment le temps avant d'exécuter la fonction. C'est à dire ne rendant pas la main avant l'écoulement du temps.
Ce problème me préoccupe car si la fonction à déclancher à l'issue du timeout est la fonction dans laquelle la méthode setTimeout se situe, alors dans le second cas, il faut prendre les mesures appropriées à l'écriture d'une fonction réentrante.
On retrouve cette même problématique si on est dans le cas 1 et que la valeur donnée en timeout est inférieure au temps nécessaire pour exécuter les instructions séparant la méthode setTimeout et la fin de la fonction.
Bon ! J'espère avoir été clair. Quand bien même j'ai moi-même un peu de mal à me relire, mais je suis sûr que quiconque à travaillé avec cette méthode comprendra ce qui me préoccupe.
Bon Dimanche à tous.
Modifié par aCOSwt (09 Oct 2006 - 09:17)