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 :

Function en async


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    R�dacteur
    Avatar de thierryler
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4 078
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 078
    Par d�faut Function en async
    Salut,

    J'ai une question conne...

    J'ai cette fonction :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function maFonction(name, duree) {
        console.log('Debut : ' + name);
     
        // Sleep
        operationLongue(duree);
     
        console.log('Fin : ' + name);
    }
    Que j'appelle comme �a :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    var fonc1 = maFonction('un', 5000);
    var fonc2 = maFonction('deux', 1000);
    Avec, histoire de causer :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    function operationLongue(milliSeconds) {
        console.log('Debut Operation Longue');
        var startTime = new Date().getTime();
        while (new Date().getTime() < startTime + milliSeconds);
        console.log('Fin Operation Longue');
    }
    Ce que je voudrais faire, c'est des appels assynchrones quand je demande maFonction.

    J'arrive plus � faire des call back qui vont bien...
    Thierry Leriche-Dessirier
    Consultant Java JEE Web Agile freelance
    R�dacteur pour Developpez
    Professeur de G�nie Logiciel � l'ESIEA

    Site : http://www.icauda.com / Linked'in : http://www.linkedin.com/in/thierryler / Twitter : @ThierryLeriche

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    Bonjour,

    Dans ton exemple, l'op�ration longue est synchrone (boucle while). Ce n'est donc pas un bon exemple.

    Par contre, si on prend l'�quivalent asynchrone setTimeout, c'est beaucoup plus naturel :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function maFonction(name, duree, callback) {
        console.log('Debut : ' + name);
     
        // Sleep
        setTimeout(function(){
             console.log('Fin : ' + name);
             callback();
        }, duree);
     
    }
     
    maFonction('un', 5000, function(){
          maFonction('deux', 1000);
    });

  3. #3
    R�dacteur
    Avatar de thierryler
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4 078
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 078
    Par d�faut
    En fait j'ai fais une boucle pour simuler un traitement long.

    Par contre je voudrais que mes appels � maFoction soient ind�pendants.
    Thierry Leriche-Dessirier
    Consultant Java JEE Web Agile freelance
    R�dacteur pour Developpez
    Professeur de G�nie Logiciel � l'ESIEA

    Site : http://www.icauda.com / Linked'in : http://www.linkedin.com/in/thierryler / Twitter : @ThierryLeriche

  4. #4
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    Qu'est-ce que tu veux dire par ind�pendant ?

    Si tu veux que ta 2�me fonction s'ex�cute une fois la premi�re termin�e, alors l'appel de la fonction 2 d�pend de l'appel de la fonction 1.

    Si tu veux que tes 2 fonctions s'ex�cutent en m�me temps en parall�le, pas besoin de callbacks.

  5. #5
    R�dacteur
    Avatar de thierryler
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4 078
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 078
    Par d�faut
    Je veux que mes fonctions soient appel�es sans aucun liens. Et surtout que le second appel n'attende pas la fin du premier.

    Potentiellement, le second appel pourrait �tre 10 lignes plus bas dans le programme.
    Thierry Leriche-Dessirier
    Consultant Java JEE Web Agile freelance
    R�dacteur pour Developpez
    Professeur de G�nie Logiciel � l'ESIEA

    Site : http://www.icauda.com / Linked'in : http://www.linkedin.com/in/thierryler / Twitter : @ThierryLeriche

  6. #6
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Bonjour,
    en gros tu voudrais que tes 2 fonctions tournent en parall�le.

    Il te faut regarder du cot� des Web Workers.

    A lire �galement un article de davrous sur son blog Introduction aux Web Workers d�HTML5 : le multithreading version JavaScript, je ne me rappelles plus de tout

Discussions similaires

  1. implicit declaration of function
    Par guillaume_pfr dans le forum C
    R�ponses: 7
    Dernier message: 12/06/2003, 10h59
  2. [POSTGRESQL] exec function
    Par peuh dans le forum Requ�tes
    R�ponses: 5
    Dernier message: 23/05/2003, 15h15
  3. A propos des 'File management Functions' de Windows
    Par znaidi dans le forum Windows
    R�ponses: 3
    Dernier message: 01/04/2003, 16h01
  4. [postgreSQL] �quivalent de la function 'instr'
    Par Dra_Gun dans le forum Requ�tes
    R�ponses: 2
    Dernier message: 17/01/2003, 16h09
  5. [Dev c++ 4] implicite declaration of function "int kbhi
    Par Torpedox dans le forum Dev-C++
    R�ponses: 5
    Dernier message: 01/01/2003, 13h37

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