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

ActionScript 3 Discussion :

lancement de fonction les unes après les autres


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 33
    Par défaut lancement de fonction les unes après les autres
    Bonjour

    Je développe une appli en flex/as3 (je suis débutant dans ces langages) qui utilise des web services pour récupérer les données. Cependant les web services mettent plus ou moins longtemps a répondre. Voila ma question :

    Comment faire en AS3 pour que
    - je lance une première fonction (fonction1) qui appelle un web service
    - je lance une seconde fonction (fonction2) qui appelle un autre web service quand fonction1 a fini

    j'espère que vous avez compris ma question. J'ai pas mal cherché sur le net du coté des events et des child, mais sans vraiment trouvé de réponse qui me convienne ou je n'arrive pas a les mettres en place.
    Merci d'avance
    Florian

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 15
    Par défaut Oncomplete ?
    Bonjour

    En fait, l'idéal est d'utiliser l'événement qui dit que l'appel au webservice est terminé et, dans cet événement, appeler la fonction qui fait appel suivant.

    Ce n'est pas toujours évident à rendre naturel. J'imagine un service de traduction qui doit être chargé avant d'afficher le premier écran. Mais avec un peu d'habitude, ça marche très bien.

    Pour gérer au mieux ce qui se passe, je dirais même que l'idéal est le suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    OBJET1.Fonction1 () {
     
    (action)
    (action)
    appel au webservice de l'object dédié OBJET2 par exemple
    }
     
    dans OBJET2, événement ... heu, par coeur je ne sais plus, onComplete ? onInit ?
     
    CompleteEventHandler(event) {
     
    (action)
    Appel à OBJET1.fonctionSuivante()
     
    }
     
     
    retour dans OBJET1
     
    fonctionSuivante() {
     
    (action)
     
    Appel au webservice 2 
     
    }

    Etc etc. OBJET1 et OBJET2 peuvent être le même objet.

    Amitiés

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 33
    Par défaut
    Tout d'abord merci pour ta réponse.

    Je suis débutant en actionScript, j'ai essayé de mettre en place ta solution, mais cela ne marche pas. Cela vient surement de ma mise en oeuvre qui n'est pas bien faite. pourrait tu me préciser un peu stp ?

    Pour l'instant, voici l'architecture de mon appli, dans un fichier AS3, j'ai :
    - une fonction AppelGroupe (qui appelle un webservice récupérant une liste de groupe)

    - une fonction AppelPersonne (qui appelle un webservice récupérant la liste des personnes présente dans un groupe précis)

    -une fonction AppelEDT (qui appelle un webservice qui récupère l'emploi du temps de ces personnes).

    Il faut donc que je récupère dans l'ordre les groupes, les personnes de ces groupes, enfin l'emploi du temps de ces personnes.

    j'espère avoir été clair.
    Merci d'avance
    flo

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 15
    Par défaut Sans garantie de tous les termes
    Je n'ai pas la doc ici et ne suis pas à l'aise.

    Je ferais ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    MaFonction1() {
     
    (actions) 
     
    _loader1 = new UrlLoader( )
    _loader1.addEventListener(Event.COMPLETE, MaFonction2);
     
    (complétion du _loader1 + appel au WebService)
    }
     
    MaFonction2(event) {
     
    (j'ai récupéré les données 1, je vais m'en servir pour appeler des données 2) 
     
    _loader2 = new UrlLoader( )
    _loader2.addEventListener(Event.COMPLETE, MaFonction3);
     
    (complétion du _loader2 + appel au WebService)
    }
    Etc etc.

    Les fonctions qui sont appelées quand un événement intervient reçoivent les données dans le paramètre event.

    Dany

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 33
    Par défaut
    Ca a l'air de marcher impeccable.

    Merci beaucoup

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

Discussions similaires

  1. Afficher deux courbes les unes après les autres
    Par gmachi10 dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 09/07/2008, 09h49
  2. Réponses: 9
    Dernier message: 24/01/2008, 12h53
  3. Réponses: 32
    Dernier message: 28/08/2007, 19h57
  4. [Débutant] Charger et afficher des images les unes apres les autres
    Par kharon dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 29/03/2007, 08h51
  5. Ouvrir plusieurs boites de dialogues les unes après les autres
    Par troumad dans le forum GTK+ avec C & C++
    Réponses: 4
    Dernier message: 25/02/2007, 11h55

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