IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Endormir un script javascript


Sujet :

JavaScript

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut Endormir un script javascript
    Bonjour,

    Ceux qui connaissent C, savent qu'il est facile d'endormir un thread en faisant sleep(nb_de_secondes) (ou une méthode static de la classe Thread pour ceux qui développe en .NET) quoi qu'il en soit cela reste relativement simple.

    Ma question est : y aurait t'il un équivalent à cette méthode en javascript ?
    car mon problème, c'est que setTimeout ne répond pas à mes attentes, en effet, je n'ai pas besoin d'une attente asynchrone mais synchrone. Je me vois mal implanter une boucle active while (this.inProgress) {} où inProgress est remis à false une fois que le traitement asynchrone est terminé
    Dans un programme normal ce type de boucle active plombe les performances du systeme alors en javascript j'ose pas y penser.

    Merci d'avance

  2. #2
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function x(arg01, arg02) {
       var var01
       // ...
       setTimeout(function() {
            alert(var01)
            alert(arg01)
       }, 1000)
    }
    Ne marche pas si la fonction doit retourner qqchose

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    Etrange, chez moi setTimeout, effectue une action asynchrone (elle créer un timer et execute la fonction a la fin du timer, sans pour autant endormir le thread courant il quitte donc la fonction avant que le timer ne s'enclenche.)

  4. #4
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Citation Envoyé par cinemania
    Etrange, chez moi setTimeout, effectue une action asynchrone (elle créer un timer et execute la fonction a la fin du timer, sans pour autant endormir le thread courant il quitte donc la fonction avant que le timer ne s'enclenche.)
    En effet, c'est ce qu'il fait... et si tu veux bloquer l'exécution de la fonction courrante, je te conseille ce code ci (mais c'est risqué si ta fonction met du temps à s'exécuter, càd plus de 3-4 seccondes)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function ajoutePX(taille) {
       var block={"continue":true,"value":null}
       // ...
       setTimeout(function() {
            alert(taille)
            block.value=taille+"px";
            block.continue=false;
       }, 500)
       while (block.continue) {}
       return block.value;
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment gérer les objects déclarer en HTML dans un script JAVASCRIPT?
    Par Thauglor dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/04/2006, 14h54
  2. Probleme avec un script javascript->php
    Par leluis dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/03/2006, 15h32
  3. aide pour un script javascript
    Par speedylol dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 22/03/2006, 14h28
  4. utiliser un recordset dans un script javascript
    Par insect INC dans le forum ASP
    Réponses: 4
    Dernier message: 10/10/2005, 19h29
  5. [PHP-JS] Php dans un script javascript
    Par nebule dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/11/2004, 10h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo