2010-12-06 30 views
-1

Sujets de réflexion Actionscript/code Flex:Dans Flex/Actionscript, comment savoir ce que LocalConnection.send a généré une erreur de statut?

var LC:LocalConnection=new LocalConnection(); 
    LC.addEventListener(StatusEvent.STATUS, Status); 
    LC.send('A', 'SomeMethodName', 'Message'); 
    LC.send('B', 'SomeMethodName', 'Message'); 
    LC.send('C', 'SomeMethodName', 'Message'); 

public function Status(event:StatusEvent):void { 
    if (event.level=='error') { 
    // How Can I Know if the error came from 'A', 'B', or 'C' above? 
    } 
} 

En supposant que je ne pas voulez lancer l'envoie en série, mais dans paralell (à la fois), comme ci-dessus, et en supposant en outre que l'un, et une seule des commandes d'envoi génère un événement d'état où niveau = 'erreur':

Comment puis-je détecter quelle commande d'envoi a généré l'erreur d'état?

Répondre

2

Si je devais utiliser plusieurs LocalConnections, j'aurais utilisé une instance différente pour chaque ConnectionID et créé une classe support pour les gérer.

0

Je crois qu'un statut sera même levé pour tous les message que vous envoyez. Donc, si vous avez 2 messages d'état avant l'erreur, alors c'est C.

Vous pourriez avoir une enveloppe autour de LocalConnection qui stocke les messages qu'il envoie dans un tableau, et les supprime chaque fois qu'un message d'état est reçu. Lorsque vous obtenez une erreur, le message en tête de la file d'attente serait celui qui a fait une erreur.

+2

Comment pouvez-vous être sûr d'avoir les deux messages d'état avant le message d'erreur? Dites, par exemple, que les erreurs sur "B" - Je ne pense pas que vous pouvez compter sur la séquence d'événements étant le statut, l'erreur, le statut. Ne pourrait-il pas tout aussi bien être le statut, le statut, l'erreur? Il pourrait être plus long de déterminer l'erreur que le succès, dans cet environnement asynchrone. Même si j'utilise la deuxième idée, je suis toujours confronté à exactement comment associer une réponse d'événement particulier avec l'envoi exact qui l'a envoyé. Pouvez-vous être plus précis sur la façon dont je pourrais maintenir cette relation d'association? – Joshua