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

Flex Discussion :

Dispatch event : ordre de propagation des événements


Sujet :

Flex

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 65
    Points : 41
    Points
    41
    Par défaut Dispatch event : ordre de propagation des événements
    Bonjour,

    Je voudrais savoir s'il est possible de gérer l'ordre de propagation des événements.

    Si je fais des dispatchEvent à la suite, l'ordre de final n'est pas respecté.

    1. faire un select ... dispatchEvent A
    2. faire un select ... dispatchEvent B
    3. faire un select ... dispatchEvent C

    Exemple de résultat :

    1. événement B
    2. événement A
    3. événement C

    Le select ou le traitement que je fais est toujours le même.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Points : 894
    Points
    894
    Par défaut
    Selon le type de l'événement il va être traité par des listeners intermédiaires. Chaque traitement le retardera. Donc il n'y a pas de raison d'avoir un ordre d'arrivée égal à l'ordre de départ, sauf peut-être si tu gères tes propres événements qui ne seront traités que par tes listeners.
    jyl@xx
    "Simplicity does not precede complexity, but follows it." Alan Perlis

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 65
    Points : 41
    Points
    41
    Par défaut
    Mon traitement charge simplement une requête et renvoi un événement quand elle est chargée.

    Je fais cette action plusieurs fois de suite, et j'aimerai récupérer le résultat des req dans le même ordre que mes demandes.

    Ce que je ne comprends pas très bien, c'est pourquoi ma deuxième req indique quelle est terminée avant la 1ere ??

    Comment elle fait pour la doubler ?

    Il faut faire une petite pause entre deux envois ?

    Y a t il un moyen de dépiler les événement en attente ?
    (un genre de Application.ProcessMessages pour ceux qui connaissent Delphi)

    Y a t il une solution ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Points : 894
    Points
    894
    Par défaut
    Je connais bien Delphi, mon langage préféré (depuis turbo pascal) pendant 15 ans, sniff...

    La particularité d'AS3 c'est son fonctionnement asynchrone basé sur la notion d'événements.

    Lorsque tu fais ta requête A elle va mettre un temps Ta pour être exécutée par le serveur. A la réception de la réponse tu déclenches un événement Ea.
    idem avec Tb pour B, événement Eb, et Tc pour la requête C, événement Ec.

    L'ordre de déclenchement des Ea, Eb, Ec dépend donc de la valeur de Ta, Tb et Tc.

    Comme ton serveur est probablement multi thread il va exécuter pratiquement simultanément tes 3 requêtes. Si Ta est supérieur à Tb, Eb sera déclenché avant Ea.

    Donc si les 3 requêtes sont liées, c'est à dire s'il faut absolument exécuter Ea avant Eb avant Ec tu dois sérialiser tes requêtes.

    1- requête A
    2- réception résultat requête A -> event A + requête B
    3- réception résultat requête B -> event B + requête C
    4- réception résultat requête C -> event C
    jyl@xx
    "Simplicity does not precede complexity, but follows it." Alan Perlis

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 65
    Points : 41
    Points
    41
    Par défaut
    Merci pour ta réponse, ça m'éclaire sur le fonctionnement de Flex...

    Finalement j'ai regroupé mes req pour ne générer qu'un seul événement.


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

Discussions similaires

  1. Propagation des évènements
    Par le_chomeur dans le forum jQuery
    Réponses: 20
    Dernier message: 27/07/2011, 22h04
  2. [Graphics View] Propagation des évènements vers un QGraphicsWidget
    Par afloret dans le forum Qt
    Réponses: 10
    Dernier message: 10/02/2010, 10h16
  3. Propagation des évènements du clavier
    Par monnomamoi dans le forum GTK+
    Réponses: 6
    Dernier message: 30/01/2010, 02h48
  4. propagation événement avec dispatch event
    Par john123 dans le forum Flex
    Réponses: 3
    Dernier message: 19/02/2009, 13h25
  5. ordre d'exécution des événements onblur et onfocus
    Par letycaf dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/05/2006, 15h30

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